-
menu.lst是什么?(2)
- 作者:许红赞 分类:U盘 发布时间:2021-01-02 01:36:00
(/dev/hda2)/vmlinuz-2.6.11-1.1369_FC4 –>(hd0,1)/vmlinuz-2.6.11-1.1369_FC4因为 /boot 是一个完整的 partition 嘛!所以说,整个核心档案的写法,可以这样做:title FC4 ...
<==代表核心档案放在那个 partition 当中?kernel /boot/vmlinuz ro root=/dev/hda1 vga=771initrd /boot/initrd# root :代表的是‘核心档案放置的那个 partition 而不是根目录’喔!不要搞错了!# kernel :至于 kernel 后面接的则是核心的档名,而在档名后面接的则是核心的参数,# 在 kernel 后面接的 root 才是‘根目录所在的 partition ’,# 另外,核心还可以外加很多的参数喔,例如 vga 即是一个解析度参数!# initrd :就是前面提到的 initrd 制作出 RAM Disk 的档案档名啦!2. 直接指定 partition 与档名,不需要外接 root !kernel (hd0,0)/boot/vmlinuz ro root=/dev/hda1 vga=771initrd (hd0,0)/boot/initrd注意到:kernel 后面其实只要接 ‘核心档案档名’与 ‘根目录 (/) 的所在磁碟代号 (用一般 Linux 磁碟代号) 就可以了。 老实说,以第二个方式来书写你的 title 的内容会比较好一点~ 不会造成两个 root 是啥意思的紊乱!上面的案例还很好理解,如果是底下的案例呢? 思考看看:例题:我的 Linux 主机仅有一颗硬碟,但为了制作多重开机,所以我将 /boot 独立出来成为一个 partition, partition 的对应是‘ /boot → /dev/hda2 ’ ‘ / → /dev/hda1 ’,而且我仅有 kernel file, 档名为 /boot/vmlinuz-2.6.11-1.1369_FC4 请问 grub 当中的 title 要如何写?答:只要列出 kernel 的档名即可!因为我将 /boot 独立成为 /dev/hda2 ,因此,整个核心档案档名应该是:/boot/vmlinuz-2.6.11-1.369FC4 –>(/dev/hda2)/vmlinuz-2.6.11-1.1369_FC4 –>(hd0,1)/vmlinuz-2.6.11-1.1369_FC4因为 /boot 是一个完整的 partition 嘛!所以说,整个核心档案的写法,可以这样做:title FC4 defaultkernel (hd0,1)/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda1因为 vmlinuz-2.6.11-1.1369_FC4 这个档案其实是在 /boot 所在的 partition 上, 而 /boot 是 (hd0,1) ,因此,整个档名就成为 (hd0,1)/vmlinuz-2.6.11-1.1369_FC4 了! 只要你能够瞭解这个档名的来源,那么 grub 对你而言,已经没有什么大问题了! ^_^# 2. 利用 chain loader 的方式:所谓的 chain loader 仅是在将控制权交给下一个 boot loader 而已, 所以 grub 并不需要认识与找出 kernel file ,‘ 他只是将 boot 的控制权交给下一个 super block 或者是 MBR 内的 boot loader 而已 ’ 所以通常他也不需要去查验下一个 boot loader 的开机磁区啊! 一般来说, chain loader 的设定只要两个就够了,一个是指定开机区的 root partition,另一个则是设定 chainloader 在那个磁区上!所以说,假设我的 Windows 磁区在 /dev/hda1 ,且我又只有一颗硬碟, 那么要 grub 将控制权交给 windows 的 loader 只要这样就够了:[root@linux ~]# vi /boot/grub/menu.lst….前略….title Windows partitionroot (hd0,0)chainloader +1那个 root 代表的就是 Windows 的 C 槽啦!而 chainloader 则是载入 boot loader 的定义值, 那个 +1 代表的是‘第一个 sector ’也可以说成 Super block 啊!这样说,理解吗?! 但其实我们的 grub 功能是很强大的!他还可以隐藏某些 partition 呢! 让您的 Windows 不会去读取 Linux 的 partition 啊!举例来说,以上面的例子在延伸, 假设我的 /dev/hda5 是 Linux 的磁碟系统,我想将他隐藏,并且把原先隐藏的 /dev/hda2 开启,并且不去检查 /dev/hda1 的开机区,所以,会变成:[root@linux ~]# vi /boot/grub/menu.lsttitle Windows partitionunhide (hd0,1)hide (hd0,4)rootnoverify (hd0,0)chainloader +1makeactive最后那个 makeactive 是让开机区的 boot 项目具有 active 的标志而已,有没有加都可以。
猜您喜欢
- u盘短接法进行u盘量产修复 u盘短接是..2023-10-10
- win7系统提示rpc服务器不可用如何解决..2023-10-10
- 华为noh-an00是什么型号 华为noh-an00是什..2023-10-06
- 主叫号码是什么意思 打电话什么叫主..2023-10-06
- 主叫号码是什么意思 打电话什么叫主..2023-09-25
- 0元和彩云定向流量是什么意思 和彩云..2023-09-25
相关推荐
- dwf格式的文件怎么打开 dwf文件是什么..2023-04-16
- word自动保存的文件存放在哪 Word自动保..2023-03-14
- Windows 11网络连不上?别担心,这里有..2024-02-26
- 笔记本如何连蓝牙耳机 笔记本如何连..2023-03-03
- 如何轻松远程连接win11,简单易懂的教..2024-05-15
- U盘魔术师USM怎么使用?U盘启动盘制作..2021-06-16