系统启动过程
BIOS -> bootloader -> kernel -> init -> service -----> login -> bash
|---->dm->...
1. 单用户模式启动过程:
1. BIOS -> bootloader -> kernel -> init -> service -> bash
2. 不起动login,直接启动bash ,绕过密码输入
3. 给grub加上密码,避免启动但用户模式
1.与启动有关的磁盘的首sector 共512B
1. 446B-MBR
2. 64BDPT
3. 剩余2个字节55AA 表示存放了BOOTLOADER
2. grub在redhat的主目录 /boot/grub grub的配置文件menu.1st Redhat重命名为/boot/grub/grub.conf
1.grub首次启动的步骤
1.512B的stage1 放入MBR中,作用:作用找到stage1_5
1. stage1出问题,系统显示该硬盘无引导记录
2.解决:grub-install
2. stage1_5放入分区前的位置,作用:加载文件系统,找到stage2
1. stage1_5出问题,grub乱码
2.解决:grub-install
3. stage2 放在分区内 作用:找到kernel
1. 出错会提示stage2找不到
2.解决:
1. cdrom启动
2. linux rescue
3. chroot /mnt/sysimage
4. rpm -ivh grub......rpm
grub-install /dev/sda
4. menu.1st (grub.conf)
1.出问题会提示grub>命令提示符
2.解决:
1. root(hdn,n) 指定内核所在分区
2. kernel /vmlinuz-2.6XX.XX.XX root=(hdn,n) 指定内核所在分区目录,然后指定initrd所在分区(通常是一样的)
1.或kernel /boot/vmlinuz-2.6XX.XX.XX root=LABEL=/boot 根据分区情况指定好内核存放的目录,指定好根目录
1.root可使用的参数还有 UUID root=UUID=xxxxxxxxxxxxxxxxx
2. ls -l /dev/disk/by-XXX 显示分区的UUID,LABEL,ID,PATH
3. uuidgen -r/-t 生成随机的uuid
4. e2label 更改分区的label
3. initrd /initrd-XXXXX-XXX-XX.img 根据情况指定好initrd所在分区目录
4. boot
5.进入系统后手动创建grub.conf
grub.conf
1.参数
1. rhgb quiet 作用:不显示内核启动信息,显示启动画面
2. initrd 此文件内含打包驱动的文件 mkinitrd命令打包驱动到initrd
3.kernel 内核文件
4. root(hdn,n) 指定硬盘分区
5. root=LABEL=XXX 指定ROOT在卷标名为XXX的硬盘分区,
1.UUID=XXXX 使用UUID指定
6. passwd 指定grub启动密码 要使用加密过的,否则明文显示
2.启动其他bootloader
1.rootnoverify(hdn,n)指定所在要启动的bootloader所在分区
2.chainloader +1 启动
3.grub下帮助
1. help显示所有命令帮助
2. help 【command】