如何让 grub 从第二个硬盘启动 Windows

如何让 grub 从第二个硬盘启动 Windows

我通常使用 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

相关内容