+ -
当前位置:首页 → 问答吧 → menu.lst 文件藏哪了?[已解决]

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

时间:2009-11-07

来源:互联网

新装了 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) = "PXEClient";
}
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/distrib.../loader/initrd
# wget http://download.opensuse.org/distrib...6/loader/linux

* 针对x86_64的例子:

# cd /srv/tftp/tftpboot
# wget http://download.opensuse.org/distrib.../loader/initrd
# wget http://download.opensuse.org/distrib...4/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/sites/ft...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服务器应该能正确地启动。
上传的图像
无标题.jpg (102.3 KB, 12 次查看)

作者: beyes   发布时间: 2009-11-07

已解决,在 /boot/grub/grub.cfg 这里,呵呵


网络安装linux







一、前提条件。
1、一台已经安装SUSE Linux Enterprise 10的电脑来提供DHCP,TFTP,FTP服务。
2、SUSE Linux Enterprise 10的安装映象文件sles-10-x86-cd1.iso_cd4.iso
3、客户机带有支持PXE启动的网卡。
二、服务器的设置。(IP地址192.168.5.1)
1、设置dhcp服务。
编辑文件/etc/dhcpd.conf。下面是dhcpd.conf文件的例子。
default-lease-time 6000;
max-lease-time 72000;
ddns-update-style none; ddns-updates off;
subnet 192.168.5.0 netmask 255.255.255.0 {
range 192.168.5.2 192.168.5.4;
option routers 192.168.5.1;
}
host lin {
hardware ethernet 00:11:25:68:a5:c6; #客户机的网卡硬件地址
fixed-address 192.168.5.2; #分配给客户机的IP地址
server-name "192.168.5.1"; #指定TFTP的IP地址
next-server 192.168.5.1;
filename "/tftpboot/pxelinux.0"; #指定包含PXE引导程序的文件
}
启动dhcp服务: # rcdhcpd start
2、设置tftp服务。
首先查看系统是否安装了tftp服务器软件: 输入:rpm -qa |grep atftp.
如果提示没有安装,请用Yast安装。(注:SUSE Linux 10默认没有安装atftp)
编辑/etc/sysconfig/atftpd文件,其内容如下
ATFTPD_OPTIONS="--daemon --user tftp -v"
ATFTPD_USE_INETD="no"
ATFTPD_DIRECTORY="/srv/tftp" (注:/srv/tftp目录需要手工建立)
然后增加一个tftp用户:useradd -m tftp
启动tftp服务: # rcatftpd start
3、设置PXE引导环境
首先确保系统安装了syslinux包。(注:SUSE Liunx 10默认安装了enterprisesyslinux)
运行下列命令
# cd /srv/tftp
# mkdir tftpboot
# cd tftpboot
# mkdir pxelinux.cfg
# cp /usr/share/syslinux/pxelinux.0 /srv/tftp/tftpboot
# vi /srv/tftp/tftpboot/pxelinux.cfg/default
/srv/tftp/tftpboot/pxelinux.cfg/default内容如下:
default linux
prompt 1
timeout 30
label linux
kernel linux
append initrd=initrd splash=silent showopts
4、加载安装映像文件
# mkdir /sles10
# mkdir /sles10/cd{1,2,3,4} (注:在/sles10/下建立目录cd1,cd2,cd3,cd4)
# mount -o loop /mnt/wind/sles-10-x86-cd1.iso /sles10/cd1
# mount -o loop /mnt/wind/sles-10-x86-cd2.iso /sles10/cd2
# mount -o loop /mnt/wind/sles-10-x86-cd3.iso /sles10/cd3
# mount -o loop /mnt/wind/sles-10-x86-cd4.iso /sles10/cd4
复制cd1目录中linux和initrd文件到/srv/tftp/tftpboot
# cd /sles10/cd1/boot/i386/loader
# cp linux /srv/tftp/tftpboot/
# cp initrd /srv/tftp/tftpboot/
5、设置ftp服务。允许匿名登录,并设置其登录主目录为/sles10/.
可以通过修改/etc/passwd文件来设置匿名登录的主目录。如下
ftp:x:40:49:FTP account:/sles10:/bin/bash
启动ftp服务器。
(有关ftp服务器的具体设置,请查阅相关资料。)
三、客户机安装
1、在BIOS中设置为网络启动
2、重新启动电脑。如果设置无误,系统会自动获得IP.
3、运行到出现boot:是,输入命令
boot:linux install=ftp://192.168.5.1/cd1
(注:install指定了ftp服务器的地址及安装文件的位置;输入内容速度要快。)
4、进入到SUSE Linux安装界面,有关步骤请参考文档《硬盘安装SUSE Linux
Enterprise 10》
/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

作者: beyes   发布时间: 2009-11-07

热门下载

更多