LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1536|回复: 1

menu.lst 文件藏哪了?[已解决]

[复制链接]
发表于 2009-11-7 13:29:54 | 显示全部楼层 |阅读模式
新装了 ubuntu 9.10 ,发现有好些应用和原来的习惯不一样。

我想改一下 /boot/grub 里面的 menu.lst 文件,却发现没有了。我的电脑里装有 xp ,opensuse 11.1 , ubuntu 9.10 3 个系统。

在启动时,启动菜单是黑白的,我不知道这些启动菜单选项里的内容都写在哪个文件里,以前在别的发行版里在 /boot/grub/menu.lst 里可以看到。

尽管可以新建一个 menu.lst ,但是现在由于菜单内容众多,如果一个一个手动去写这些菜单项,如 UUID 值的一不小心就会写错,也比较耗时间。

我现在想知道启动菜单的内容是写在哪个文件里的,还望大家赐教,先行谢过了。

启动选择菜单如下图:
  介绍

由于SUSE Linux分发总是最新的,所以它经常变更。然而,不用刻录新的CD或DVD光盘就能安装系统将更令人高兴,在此为您提供了从网络安装SuSE的最好方式。

PXE是在没有软驱、硬盘、CD-ROM的情况下引导计算机的一种方式,也就是BIOS将使用PXE协议从网络引导。当然,为了使PXE工作服务器需要配置OS,并且客户端需要使用特定的LAN网卡(NIC)的代码模块来运行PXE。多数的新主板都有板载LAN端口并在BIOS的镜像中已经包含了这个模块。如果您想从子板网卡(如ISA/PCI插槽上的网卡)引导,您需要在引导ROM(只有当网卡有ROM插槽时才可用)或在BIOS镜像中(当有合适的镜像工具才可用,AMIFLASH就是一个)安装相应模块。很少有操作系统支持PXE服务器配置--但是Windows 2000服务器和SUSE Linux却支持。
准备工作

为了成功的进行网络安装,您需要:

    * 一个现存的SuSE Linux (提供dhcpd和tftpd服务),
    * 一个可用的网络连接(推荐使用高带宽的),
    * 一个支持PXE引导的可连网的需要安装的目标系统。

配置dhcpd和TFTP服务器
dhcpd配置

PXE引导是基于BOOTP服务器,为了启动自身的网络层将发送所有必需的信息,这可以通过从所周知的DCHPD服务器来实现,该安装包包含在 SuSE的分发中。下面是一个典型的配置(/etc/dhcpd.conf是缺省的配置文件):

host target_host {
     hardware ethernet xx:xx:xx:yy:yy:yy;
     fixed-address 192.168.1.10;
     server-name "192.168.1.1";
     next-server 192.168.1.1;
     filename "/tftpboot/pxelinux.0";
}

注意以PXE引导需要添加两行,指定TFTP引导服务器IP(server-name)和包含PXE引导程序的文件名(filename)。您需要按照下面方式重新启动DHCPd服务器:

# rcdhcpd restart

请注意:依赖于您使用的tftp服务器和是否它运行在改变根目录环境,"filename"也可以在被指定时使用相对路径。在openSUSE上的标准tftpd服务器或使用基于RedHat的服务器,"filename"应该为:

filename "pxelinux.0";

在ISC DHCP服务器版本3(迁移到openSUSE)中,可以配置DHCP服务器只响应引导请求,这种方式可以与另一个缺省的DHCP服务器并行运行。这个也许在DHCP服务器不能被配置提供引导服务器或引导文件名(这种情况也放有很多DSL路由器)的情况下很有用。PXE客户端将忽略不包含引导服务器或引导文件名的DHCP请求。下面是本方案的完整的配置文件:

default-lease-time 600;
max-lease-time 7200;
ddns-update-style none; ddns-updates off;
allow booting;

option domain-name "my.domain";
option domain-name-servers my.dnsserver;
option routers my.router;
  
# 定义规则来识别来自于PXE和Etherboot客户端的DHCP请求。
class "pxe" {
    match if substring (option vendor-class-identifier, 0, 9) = "XEClient";
}
class "etherboot" {
    match if substring (option vendor-class-identifier, 0, 9) = "Etherboot";
}
  
subnet 192.168.1.0 netmask 255.255.255.0 {
    option broadcast-address 192.168.1.255;
    pool {
         default-lease-time 180; # no long lease time required for booting
         max-lease-time 360;     # booted system does its own dhcp request
         server-name "mybootserver";
         next-server mybootserver.; # in case your local DNS only handles
                                    # unqualified domains keep trailing '.'
         filename "pxelinux.0";
         allow members of "pxe";
         allow members of "etherboot"; # allow etherboot, too
         range 192.168.1.201 192.168.1.211;
     }
}

atftpd 配置

推荐使用atftp包,因为atftp是唯一的免费的符合RFC规范的TFTP服务器。一旦安装,您应该检查/etc /sysconfig/atftp中的每一项是否OK。下面是一个典型的配置:

ATFTPD_OPTIONS="--daemon --user tftp -v"
ATFTPD_USE_INETD="no"
ATFTPD_DIRECTORY="/srv/tftp"

在这个例子中,注意tftp根目录设置到了/srv/tftp。您需要按照下面的方式重新启动TFTP服务器:

# rcatftpd restart

请注意:RedHat企业版本的Linux中缺省的tftp服务器也工作的不错。它不需要进一步的配置,简单地使用下面的命令启动服务即可。

chkconfig tftp on

tftpd-hpa配置

tftpd-hpa是H. Peter Anvin编写的一个tftpd服务器,包含在"tftpd"的包中。在缺省的设置中,它被配置从xinetd启动并更改目录到/etc /xinetd.d/tftp中指定的目录,通常为/tftpboot。以无权限的用户运行的选项也可以被xinetd设置(也就是/etc /xinetd.d/tftp)。
建立PXE引导环境
获取所有的东西

在真正开始建立PXE环境之前,您必须安装syslinux包,这个包提供了一个非常有用的文件:

/usr/share/syslinux/pxelinux.0

如果您没安装syslinux,您可以在这下载这个小文件。
建立PXE引导

到此为止,您应该具备了建立PXE引导环境的所有东西。进入TFTP根目录(缺省的是/srv/tftp),按下面的命令创建相应的文件和目录:

# cd /srv/tftp
# mkdir tftpboot
# cd tftpboot
# mkdir pxelinux.cfg

复制PXE引导文件到tftpboot目录下。

# cp /usr/share/syslinux/pxelinux.0 /srv/tftp/tftpboot

创建新的PXE配置文件,这个类似于syslinux.cfg文件的结构。

# vi /srv/tftp/tftpboot/pxelinux.cfg/default

这有一个简单的例子,您可按配置需求随便更改它。

default linux
prompt   1
timeout  30

# Install Linux
label linux
  kernel linux
  append initrd=initrd splash=silent showopts

请注意:如果您使用基于RedHat的服务器,您的缺省配置将需要一些以"append"开头的选项:

append root=/dev/ram0 load_ramdisk=1 initrd=initrd splash=silent showopts ramdisk_size=4096 init=linuxrc

这个配置文件引用了2个重要的文件:linux和initrd。您必须从网络上的SuSE安装仓库(或其它镜像)下载这两个文件。注意这两个文件依赖于您的硬件平台(i386或x86_64)。

    * 针对i386的例子:

# cd /srv/tftp/tftpboot
# wget http://download.opensuse.org/dis ... /i386/loader/initrd
# wget http://download.opensuse.org/dis ... t/i386/loader/linux

    * 针对x86_64的例子:

# cd /srv/tftp/tftpboot
# wget http://download.opensuse.org/dis ... 86_64/loader/initrd
# wget http://download.opensuse.org/dis ... x86_64/loader/linux

请注意:如果您使用基于RedHat的服务器,您的tftp服务器的目录结构应该如下所示:

/tftpboot
/tftpboot/pxelinux.0
/tftpboot/initrd.img
/tftpboot/vmlinuz
/tftpboot/pxelinux.cfg
/tftpboot/pxelinux.cfg/default

从PXE引导

您应该确认您的目标主机已经配置好从网络引导并检查PXE是否已经启用。然后每件事都会按照我们想的运行...享受PXE并尽情玩吧!
陷阱/常见问题
PXELINUX启动非常慢

当PXELINUX加载时您也许会发现好像花了很长时间来显示类似于下面的行:

pxelinux.cfg/01-88-99-aa-bb-cc-dd
pxelinux.cfg/C000025B
pxelinux.cfg/C000025
pxelinux.cfg/C00002
pxelinux.cfg/C0000
pxelinux.cfg/C000
pxelinux.cfg/C00
pxelinux.cfg/C0
pxelinux.cfg/C
pxelinux.cfg/default

您必须确认在/etc/dhcpd.conf的配置文件中有next-server来设置您tftp服务器的地址。您不必包含 hostname,如例子中所示,只要下面一行即可:

next-server 192.168.77.254;

没有接受的选项

您也许会在/var/log/messages看到一些如下的警告信息:

in.tftpd: tftp: client does not accept options

这个是正常的。PXELINUX好像不能接受所有的选项,但是这不影响引导。
当运行in.tftpd提示套接字错误

如果您看到了如下的错误:

in.tftpd: cannot bind to local socket: Address already in use

那么您也许在/etc/xinet.d/tftp文件中错误的配置了服务器的一些选项。请仔细的检查一下。
启动图形安装系统

在PXE加载的安装系统完成了加载驱动后,您将会看到一个消息说不能发现openSUSE的安装CD。单击OK。然后,您需要选择语言和键盘布局。

一旦进入主菜单,选择"Start Installation or System",然后"Start Instillation or Update"。下一步选择安装的网络源。您需要指定一个网络仓库来安装。从Mirrors Released Version中选择一个合适的镜像。我选择了:

ftp://ftp.mirrorservice.org/site ... tion/10.2/repo/oss/

现在依赖于您的镜像类型来选择FTP或HTTP。选择合适的网卡并使用DHCP。接下来您将被要求指定服务器的地址。虽然需要一个IP地址,您也可以设置个主机名,如:

ftp.mirrorservice.org

下一步您将被要求输入服务器上的目录,如:

/sites/ftp.opensuse.org/pub/opensuse/distribution/10.2/repo/oss/

然后,从您的镜像中下载图形安装系统。您也许碰到"Installation system does not match your boot medium."忽略这个继续。在一段短暂的停顿后,完整的图形化的YaST应该会被加载。现在您就能够按通常的方法来安装系统。
解决问题
基于文件的YaST,而不是X服务器

如果您的计算机不是太慢而不能使用图形用户界面(GUI)的安装程序,那么您能够在X服务器上通过手动来指定想要使用的分辨率和色深。我的Latitude C400笔记本电脑上就可以设置,回到TFTP服务器,编辑pxelinux.cfg/default文件。在这行:

  append initrd=initrd splash=silent showopts

添加正在的选项:

vga=xxx

xxx是Linux视频模式编号,您知道的您的监视器/显卡所工作的模式。如:

  append initrd=initrd splash=silent showopts vga=773

您能够在这找到Linux视频模式编号列表。重新用PXE引导,X服务器应该能正确地启动。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-11-7 13:40:29 | 显示全部楼层
已解决,在 /boot/grub/grub.cfg 这里,呵呵
/dev/sda8 /windows/M vfat users,gid=users,umask=0002,utf8=true,codepage=936 0 0类似这样一行 等效于
代码:
mount -t vfat -o users,gid=users,umask=0002,utf8=true,codepage=936 /dev/sda8 /windows/M
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表