grub作为linux的引导程序,有其独特的风格
先说Linux的启动过程加电自检-->BIOS(决定启动次序)-->MBR(bootloader(grub))-->kernel-->init(/etc/inittab)-->rc.sysinitMBR为0道扇区上的512个字节 Bootloader位于MBR的前446字节grub 是两段式的引导stage1 MBR 负责引导第二个阶段stage2 读取/boot/grub/中的文件解读/etc/grub.confdefault=0 //默认启用系统的编号顺序timeout=5splashimage=(hd0,0)/grub/splash.xpm.gz //因为此系统上的boot目录为一个单独的分区,grub则直接进入此分区找到grub目录,所以没有指明 boot 目录,但如果boot目录在根分区上,则grub就直接进入根分区,找到boot目录下grub目录后,那么此时需要指明boot目录hiddenmenupassword --md5 $1$FSUEU/$uhUUc8USBK5QXc.Bf //#grub-md5-crypt 加密title外的password表示进入grub编辑模式需要输密码,可防止用户修改管理员密码而取得管理员权限title Red Hat Enterprise Linux Server (2.6.18-164.el5) //用于指明同个系统的不同内核或不同的操作系统root (hd0,0) //grub所使用的根(grub引导过程中内核中的驱动还没有启动,无法识别文件系统,grub就以hd来标识磁盘,第一个0为 磁盘号,第二个0为分区号,grub则把它设为文件访问的起始点)kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/vol0/root rhgb quiet##因为boot是一个独立分区,那么grub就把此分区当作‘根分区’/,并不同于文件系统中的根##和上面的解释一样 ,如果boot是根分区上的一个目录,这里就要写成/boot/vmlinuz-2.6.18-164.el5,##记住不能以操作系统的眼光来对待它## ro 只读## root=/dev/vol0/root 表示操作系统的根文件系统## quit 静默方式运行initrd /initrd-2.6.18-164.el5.img##因为kernel加载根是需要驱动的支持,而驱动又放在了根中models 这个目录中,initrd则提供了所有kernel所需要的驱动,那么kernel就跳过了根,从而驱动文件系统,进而加载根文件系统title Install Red Hat Enterprise Linux 5root (hd0,0)kernel /vmlinuz-5 ks=http://172.16.0.1/workstation.cfg ksdevice=eth0 noipv6initrd /initrd-5password --md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4m. //title内的password表示进入此kernel时需要密码
二、如果/boot/grub/grub.conf 不幸丢失,系统找不到此文件时,则可手动添加grub>root (hd0,0)grub>kernel /vmlinuz-2.6.18-164.el5 rogrub>initrd /initrd-2.6.18-164.el5.imggrub>boot则可引导系统了
三、使用grub-install命令在磁盘上安装Bootloader新增一块磁盘dd if=/dev/zero of=/dev/sdb bs=512 count=1 //将磁盘的前512字节空间充零为boot分区分配100M的空间echo "np1+100Mw" |fdisk /dev/sdb格式化为ext3#mkfs -t ext3 /dev/sdb1#mkdir /mnt/bootmount /dev/sdb1 /mnt/boot使用grub-install磁盘上安装Bootloader#grub-install --root-directory /mnt /dev/sdb ##因为是在磁盘上安装,不需要指明/mnt/boot路径,直接/mnt Bootloader会安装在boot目录中新开一台虚拟机 将这块磁盘挂上,有 grub> 提示符则表明安装成功grub-install会在boot目录中创建grub目录,生成如下文件e2fs_stage1_5 iso9660_stage1_5 reiserfs_stage1_5 stage2_eltorito xfs_stage1_5fat_stage1_5 jfs_stage1_5 stage1 ufs2_stage1_5ffs_stage1_5 minix_stage1_5 stage2 vstafs_stage1_5/usr/share/grub/i386-RedHat目录中存放的有这些文件 可通过cp 将这些文件拷贝到grub中 达到同样的效果那么如果再为这个磁盘分区,并把kernel 和init,rc.sysinit ,拷到相应的目录中去 就是我们自己构建的Linux了 Ubuntu下WebQQ桌面化替代方案完美版Linux的网络相关配置相关资讯 Grub
- Ubuntu下Grub配置详解 (今 14:57)
- Linux系统教程:设置GRUB菜单密码 (12/15/2015 21:30:02)
- Linux操作系统启动管理器-GRUB (05/09/2015 12:06:59)
| - GRUB官方文档翻译-v1.01 PDF (04月09日)
- 修复Linux中的“提供类似行编辑的 (07/29/2015 13:18:34)
- Ubuntu 通过 Live CD 更新Grub恢复 (04/19/2015 19:06:43)
|
本文评论 查看全部评论 (0)