我使用 pendrivelinux.com 将 Ubuntu 安装在 USB 密钥上。我现在需要从 U 盘启动,但 BIOS 不支持此功能。我仍然可以直接在计算机上启动 Linux,而无需 X 支持(X 损坏是我想要从 U 盘启动以重新安装的原因之一)。有没有办法从正在运行的 Linux 安装中启动 USB 密钥,或者有其他方法可以做到这一点?
答案1
添加(通过 USB 支持)启动管理器在 grub 菜单中 - Ubuntu 12.04。(控制台模式)
此答案基于来自 Ubuntu 希腊社区的教程
现在,从桌面环境执行该过程是最简单的,但对于您来说,由于您必须干扰控制台模式,因此会稍微困难一些。如果您注意并按照步骤操作,我相信您会成功的。
通过 wget 下载 Plop 启动管理器
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.bin
并plpcfgbt
放入 /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 的步骤操作,但出现了“文件未找到”类型的错误。经过几个小时的努力,我做了两件事,这很有帮助。
在启动目录中我为 plpbt.bin 文件添加了更多权限:
chmod 777 /boot/plpbt.bin
在 /etc/grub.d/40_custom 文件中我更改了 bin 位置:
linux16 /plpbt.bin
我意识到这可能是常见的情况,但我对 Linux 总体来说还是个新手,所以对于像我这样的人,我希望这能帮助节省几个小时的困惑。如果我有更多的代表,这也会是一条评论(抱歉)。