我通常使用 GRUB 启动 Linux,并且 Linux 安装在我机器的第一个硬盘上。我在第二块硬盘上安装了 Windows,并尝试使用 GRUB 启动第二块硬盘。
GRUB 配置文件包含
title Windows
rootnoverify (hd1,1)
chainloader +1
makeactive
但它不起作用。
答案1
Windows 引导加载程序假定它是系统中的第一个磁盘。您需要告诉 grub 将这两个磁盘重新映射为 Windows 条目的一部分/boot/grub/menu.lst
:
map (hd0) (hd1)
map (hd1) (hd0)
这只是对链式加载的引导加载程序查看磁盘的方式的内存更改。
答案2
我曾经遇到过同样的问题,但正如 Ted 所说,你必须改变链式加载器查看磁盘的方式。这是我的 grub 菜单列表的样子。
# on /dev/sdc1
title Windows Vista Ultimate (loader)
root (hd2,0)
savedefault
map (hd0) (hd2)
map (hd2) (hd0)
chainloader +1
答案3
我的电脑从第二个磁盘启动。这是在 BIOS 中完成的。我的第一个磁盘上是 MS DOS(和 Debian...)
我正在像这样启动我的旧 MS DOS 6.0:
# on the second disk ...known by the system as /dev/hda
title MS DOS
root (hd1,0)
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1
这是使用 fdisk -l 后我的磁盘显示的结果
Disk /dev/hda: 20.0 GB, 20020396544 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 63 506016 6 FAT16
/dev/hda2 64 976 7333672+ f W95 Ext'd (LBA)
/dev/hda3 * 977 989 104422+ 83 Linux
/dev/hda4 990 1112 987997+ 83 Linux
/dev/hda5 64 135 578308+ 6 FAT16
/dev/hda6 136 976 6755301 7 HPFS/NTFS
Disk /dev/hdc: 6448 MB, 6448619520 bytes
255 heads, 63 sectors/track, 784 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdc1 * 1 13 104391 83 Linux
/dev/hdc2 14 784 6193057+ 8e Linux LVM