无需 BIOS 支持即可通过 USB 密钥启动

无需 BIOS 支持即可通过 USB 密钥启动

我使用 pendrivelinux.com 将 Ubuntu 安装在 USB 密钥上。我现在需要从 U 盘启动,但 BIOS 不支持此功能。我仍然可以直接在计算机上启动 Linux,而无需 X 支持(X 损坏是我想要从 U 盘启动以重新安装的原因之一)。有没有办法从正在运行的 Linux 安装中启动 USB 密钥,或者有其他方法可以做到这一点?

答案1

添加(通过 USB 支持)启动管理器在 grub 菜单中 - Ubuntu 12.04。(控制台模式)

此答案基于来自 Ubuntu 希腊社区的教程

现在,从桌面环境执行该过程是最简单的,但对于您来说,由于您必须干扰控制台模式,因此会稍微困难一些。如果您注意并按照步骤操作,我相信您会成功的。

通过 wget 下载 Plop 启动管理器

当前版本为 5.0.14

wget "download.plop.at/files/bootmngr/plpbt-5.0.14.zip" -O ~/Downloads/plpbt-5.0.14.zip

通过 7z 提取。如果您没有该软件包,请p7zip-full通过 apt-get 安装。

cd Downloads && 7z e plpbt-5.0.14.zip

从文件夹复制Linux两个文件plpbt.binplpcfgbt放入 /boot 中。

sudo cp ~/Downloads/plpbt-5.0.14/Linux/plpbt.bin /boot/ 
sudo cp ~/Downloads/plpbt-5.0.14/Linux/plpcfgbt /boot/

现在对你来说最难的部分是(因为你没有图形环境,我也不知道其他方法)。你必须从文件中记下几行/boot/grub/grub.cfg。最简单的方法(在我看来)是手机高清照片,但如果你喜欢传统方式,也可以用纸和铅笔。

打开文件

sudo nano /boot/grub/grub.cfg

找到(使用箭头键向下滚动)Ubuntu条目。它将像

menuentry 'Ubuntu, with Linux 3.2.0-XX-generic-.....`

注意这 3 行

insmod ext2 
set root='(hdX,msdosX)'
search --no-floppy --fs-uuid --set=root XXXXXXXXXXXXXX

Ctrl用实际数字替换 X。使用+关闭文件X

现在打开另一个文件,你必须在其中输入这些行以及另一行。这里需要 root 权限

sudo nano /etc/grub.d/40_custom

在此文件末尾添加之前记下的行以及另一行重要行

重要的一行是 linux16 /boot/plpbt.bin不要忘记括号。

内容示例40_custom

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Plop Bootmanager" {
insmod ext2
set root='(hdX,msdosX)'
search --no-floppy --fs-uuid --set=root XXXXXXXXXXXXXXXXXXXXX

linux16 /boot/plpbt.bin
}

使用Ctrl+保存文件X然后Y(es)ENTER

最后运行

sudo update-grub

插入您的 USB 闪存驱动器,重新启动并从 Grub 菜单中选择 plop 启动管理器,然后选择 USB。

在此处输入图片描述

在此处输入图片描述

答案2

@NikTh 谢谢你的解决方案,它给了我很大的帮助,我花了一些时间来解决一个错误,并想如果其他人遇到同样的错误,我会分享我(作为 Ubuntu 新用户)如何解决这个问题。

我完全按照 NikTh 的步骤操作,但出现了“文件未找到”类型的错误。经过几个小时的努力,我做了两件事,这很有帮助。

  1. 在启动目录中我为 plpbt.bin 文件添加了更多权限:

    chmod 777 /boot/plpbt.bin

  2. 在 /etc/grub.d/40_custom 文件中我更改了 bin 位置:

    linux16 /plpbt.bin

我意识到这可能是常见的情况,但我对 Linux 总体来说还是个新手,所以对于像我这样的人,我希望这能帮助节省几个小时的困惑。如果我有更多的代表,这也会是一条评论(抱歉)。

相关内容