一、windows与linux的引导 操作系统的启动过程基本如下: BIOS----->Bootloader------>Kernel------>init------->service----->login----bash windows的引导原理如下: 一个块硬盘中分C、D两个盘,C盘(第一块分区)中讲集成一块PBR的引导区域,硬盘中仍然独立存在MBR的引导区域。windows实现的是通过MBR引导跳转到C盘中的PBR引导,从而引导windows的操作系统。 linux的引导原理: linux一般通过grub进行引导,grub存在于/boot分区内,grub可以实现啊选择引导。 如果是双系统,可以先装windows建立windows的引导机制,然后安装linux,设置linux的grub阻断windows的自动跳转引导PBR,使其选择引导windows的PBR和linux的init。 二、linux中的grub分析 与grub相关的重要文件: /boot/grub/grub.conf(menu.lst) /boot/grub/stage1 (512字节固定) stage1_5_ext3 stage2 stage1和stage1_5出现问题:grub-install /dev/sda 修复 stage2出现问题需要用关盘启动来重新安装,三部曲: cdrom linux rescue chroot /mnt/sysimage grub.conf找不到:重新建立grub.conf vim /boot/grub/grub.conf 引导中最重要的三段命令: root (hd0,0) 到第一个硬盘的第一个分区(boot分区) kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ 告诉kernel /boot下的vmlinuz是内核 ro代表只读,并且root根目录是/ 也可以写成/dev/sda2 起到承上启下的作用 initrd /initrd-2.6.18-194.el5.img 将跟kernel相关的驱动放在initrd下 根分区和驱动没有指定正确都无法引导 e2label /dev/sda2 可以查看卷标,root=/LABEL=/ 中 /就是卷标,也就是根目录的意思 在grub中可以加密码,也就是我们在安装系统的时候提示的grub的密码,可以在grub.conf中进行设置,写入哪一行 就在哪一行执行时提示密码来进行对系统的保护,格式为: password --md5 ***** 如果不加md5 则密码是以明文的形式显示出来的 获取MD5密码的内容如下 [root@localhost grub]# grub-md5-crypt Password: Retype password: $1$IToNN0$NCtPJK7BsNO8F1ClymTm5/ 将生成的加密密码复制过去即可 kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ 后可以加入很多命令 如1 则表示单用户模式 有1-6个模式 如果root忘记密码我们可以在grub的选择界面按下 e 选择到这一行 e 在末尾修改添加1 回车 按b 执行 如果添加 init=/bin/bash 则不加载任何服务 纯启动bash (责任编辑:IT) |