经过一段时间的持久性后,我逐步提出了从BIOS-Legacy迁移到EFI bboting的可行解决方案,所以我现在回答我自己的问题。
这仅适用于启动unbuntu(或某种风格)的多个副本,并假设您从头开始使用新的或改变用途的驱动器,并且您的主板是相当新的(我的是2014年份)。如果您正在移动当前的bios / mbr安装而不是进行新安装,我建议使用qt-fsarchiver使用fsarchiver创建分区映像。这假设您当前安装的Linux是UEFI能力的。 ubunutu(和风味)的最新版本是UEFI能力的。
随着我的一步一步,我现在已经镜像和测试我的主要操作系统的副本安装在同一台机器上,所有这些都可以从refind加载!
一步步
用一些linux的风格创建一个持久的UEFI USB记忆棒(见下面的注释)
作为UEFI启动,包括输入您的cmos设置并确保您的设置将启动UEFI。您应该看到您的USB通常按制造商名称列出。最好只关闭任何传统的启动选项,这样你就可以肯定了。当它第一次启动时,它会将大多数OS文件移动到casper-rw分区并将其作为文件系统挂载。如果您在之前放置任何内容,则必须查看/ media文件夹才能找到它。
从引导的棒使用Gparted
一个。在你的主要驱动器上创建一个新的GPT分区表(擦洗驱动器!)
湾现在为ESP制作分区,256mb或更多,格式化Fat32,将其标记为ESP。标记它是可引导的(它将标记为EFI可引导,因为它现在是GPT驱动器)
安装rEFInd。 http://www.rodsbooks.com/refind/ 有三种方法(deb包,脚本或手册)我建议下载最新的bin.zip存档。解压缩并从unarchived refind目录中运行安装脚本。
sudo ./install.sh
它将找到并安装新的ESP / EFI分区。如果它抱怨没有正确运行efibootmgr你可能需要安装它。我做到了。然后只需重新运行安装脚本。
sudo apt-get install efibootmgr
最后,ESP / EFI仍将安装在boot / efi上,你需要复制在refind目录(同一个相对位置)的zip存档内找到的drivers_x64目录(我的是64位机器)。
现在取下你的手杖并尝试重新启动。输入Cmos并查看refind现在是否是要引导的可用UEFI设备之一。我坚持后把它做到了第二位。这样当棒子从我开始从棍子开始,否则从硬盘ESP上的refind。
现在你可以在另一个分区上安装一个(efi)操作系统,比如你刚刚制作的棒上的Mint。在此安装的/ boot目录中可能包含refind_linux.conf文件,该文件可以自定义。我选择重命名(删除它)。它不一定是必需的,如果配置错误可能会导致引导问题。我建议您选择清除分区标签作为refind拾取它们并在菜单中使用它们。它将避免必须自定义EFI / refind目录中的主refind.conf文件。我选择只取消注释/更改这些行。有关rEFIfind的所有内容,请参阅Rod的优秀文档。
- scan_delay 5
- 超时10
- default_selection“你的分区标签”
笔记:
制作USB记忆棒
使用4gb min stick
使用gparted在棒上设置GPT表,创建一个2gb分区并将其格式化为fat32,将其标记为“boot”,设置引导标志(它将是EFI)
使用“casper-rw”标签对其余ext4进行分区/格式化。
安装一个efi能力iso(我用linux mint 17.1)和“boot”分区并复制iso的内容。
在USB记忆棒上编辑boot / grub / grub.cfg,编辑第一个引导节并添加选项“persistent”,如下所示:
linux /casper/vmlinuz file=/cdrom/preseed/linuxmint.seed boot=casper iso-scan/filename=${iso_path} quiet splash persistent --
http://shallowsky.com/blog/linux/install/ubuntu-persistent-live-cd.html
虽然你已经安装了我,但我可能会将此文本与此帖子的URL一起剪切并粘贴到文本文件中并将其保存在那里。
关于Mint的一个令人恼火的事情是,如果没有在笔记本电脑上,它仍将加载笔记本电脑显示器,因此你无法“看到”任何东西。要修复此问题,请右键单击打开的终端或使用cntrl-alt-t。然后运行“肉桂设置”转到显示设置并关闭笔记本电脑显示屏并使主显示屏成为默认设置。
之后,一旦USB启动,我也安装qtfsarchiver,这样我就可以用GUI恢复我的fsarchiver档案。
如果将fsarchiver存档还原到分区,则需要在还原后(在gparted中)请求新的uuid并相应地编辑fstab以及删除/修复/ boot目录中的任何refind_linux.conf。
更新:从缺少的refind菜单中恢复
我想出了一个快速恢复(假设您准备好了USB闪存EFI可引导棒)。
注:如果您决定使用refind ppa来保持当前每次更新时都找到的电流,那么您将失去配置并因此启动。因此,我建议您在准备完成以下步骤时仅手动升级。
修复丢失的主板NVRAM设置(固件不再将REFIND列为可启动选项)
<user> ==您当前的登录用户
启动到USB记忆棒。创建一个恢复目录(在桌面上)并在其中打开一个终端。
- 将您的efi(esp)分区(sdxx)挂载到/ media // EFI / boot / efi并制作efi / esp分区的备份副本
sudo mount /dev/sdxx /media/<user>/EFI/boot/efi
cp -R /media/<user>/EFI/boot/efi efi-copy-xx-xx-201x
检查你是否有最新的refind bin.zip。如果没有下载(从sourceforge并解压缩到你的refind引导恢复文件夹
CD进入最新的refind提取目录并安装(.10之前的版本只使用install.sh)
sudo ./refind-install --root /media/<user>/EFI/boot/efi
如果它抱怨没有正确运行efibootmgr你可能需要安装它。我做到了。然后只需重新运行安装脚本。
sudo apt-get install efibootmgr
那应该是它。你现在应该删除usb闪存棒并重启,你的refind引导菜单应该回来了。