我朋友的笔记本电脑遭遇了车祸(他没事!)。但是这台笔记本电脑非常旧,是一台 Acer Aspire 1520,CD-rom 驱动器坏了,而且没有软盘驱动器。
我给他做了一个USB启动盘,然后我查看了一下,发现他的BIOS不能从USB启动。仅有的我有一个 GRUB 控制台,但他只想安装 XP(在 USB 上)并将其用于看电影。
是否可以使用 GRUB 控制台访问 USB 并启动 Windows 安装?这是一项艰巨的任务,但我认为这可能是一种方法,或者尝试通过 LAN 安装,但我认为这是无法实现的。
答案1
下面是可能有效的 grub 命令的简单示例以及解释和注意事项。
grub2
最有可能用于 2010 年以后的安装。
set root=(hd1,1)
chainloader +1
boot
grub
最有可能是 2005 年之前的安装。
root (hd1,0)
chainloader +1
boot
对于 2005 年至 2010 年期间,您的猜测与我的一样好,但如果您使用错误版本的命令,则只会在第一个命令上出现无害的语法错误。
选择正确的根
启动时,grub 将探测您的设备并为其分配编号。所有已分区的设备(硬盘和闪存驱动器)也将分配编号。格式为(<deviceName>,<partitionIndex>)
。在 中grub2
,分区索引已更改,因此尽管上面的两个示例试图使用不同的根目录,但它们具有相同的效果。
第一个设备 ( hd0
) 是 grub 刚刚加载的设备。之后,通常可以假设所有内部设备都会排在外部设备之前。它们很可能采用 hd
和数字的形式。
逗号后面是分区索引。硬盘和 U 盘几乎总是要分区的,因此您必须选择正确的(很可能是唯一的)分区。CD-ROM 通常不分区。
更多文档:http://www.gnu.org/software/grub/manual/html_node/Device-syntax.html
选择根分区时,您可以使用 Tab 键来查找设备名称和分区索引。只需打开括号并开始按 Tab 即可查看列表。或者,较新的版本提供了ls
或find
命令。
答案2
如果 BIOS 不擅长从 USB 密钥启动,那么这个chainloader +1
东西可能无法工作(这也是为什么我想要使用 Grub)。
在这种情况下,https://help.ubuntu.com/community/Grub2/ISOBoot至少对于 Ubuntu 来说,这是可行的。关键是弄乱识别vmlinuz
文件的 grub 命令,传递iso-scan/filename
参数。不知何故,这有助于它弄清楚整个启动文件系统都卡在 ISO 文件中。我不知道它到底是如何工作的,但它确实如此。这些是我使用的(大致)Grub 2 命令:
loopback loop (fd0,msdos1)/path/to/iso/file
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/path/to/iso/file noprompt noeject
initrd (loop)/casper/initrd.lz
boot
应该/path/to/iso/file
是 USB 密钥上的 ISO 文件的路径。(fd0,msdos1)
标识 USB 密钥。 Tab 补全对行非常有用loopback
,但对 的参数无用vmlinuz
。
答案3
详细说明new123456的评论:
USB 设备应被检测为大容量存储设备,并像硬盘一样被处理。因此,在 grub 中,键入root (hd
(暂时不要按 Enter),然后按一次或两次 tab 键以查看 Grub 可以看到哪些硬盘。如果识别了 USB 设备,则可能是 hd1。不要指定分区号;只需添加右括号即可。因此该行将是root (hd1)
。然后,键入以下内容:
chainloader +1
boot
如果不起作用,请更改root (hd1)
为root (hd1,0)
并重试。
如果由于某种原因,Grub 无法看到 USB 驱动器,请尝试插入 USB CDROM 并从中启动。
答案4
对于你朋友的情况来说,这不会有太大的帮助(除非有我不知道的方法可以将文件放到设备上 -- 可能是 USB CD-ROM 或 USB 软盘驱动器?),但这是一个很棒的小应用程序,它帮助我安装了许多旧机器,使其在 BIOS 不允许的情况下从 USB 启动。