(标题中包含大量信息,以便其他遇到同样问题的人可以找到它。)
我买了一台 Acer Aspire ES1-132,但我知道安装 Linux 可能会有点麻烦。
我目前所做的:
- 将 BIOS(InsydeH20)更新至版本 1.09。
- 在 BIOS 中禁用“安全启动”。
- 运行 Ubuntu Live-USB 并安装在 HDD(eMMC)上。
- 没有使用引导分区,而是根据本指南创建了 3 个分区:安装时如何使用手动分区?
- 启动时出现“没有可启动设备”。
这就是我的情况:如果我使用 live-usb 启动计算机,我可以访问 grub cli(usb 引导加载程序菜单中的 c 键),通过运行这些命令,我可以挂载访问已安装的 Ubuntu 桌面,似乎没有其他问题:
set root=(hd1,2)
linux /vmlinuz root=/dev/mmcblk0p2
initrd /initrd.img
boot
如果我把电脑调到睡眠模式,它就会像往常一样“启动”。烦人的事情是每次需要重启电脑时都要随身携带一个 USB 驱动器。
如果我跑lsblk我得到:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mmcblk0rpmb 179:24 0 4M 0 disk
mmcblk0boot0 179:8 0 4M 1 disk
mmcblk0boot1 179:16 0 4M 1 disk
mmcblk0 179:0 0 58,2G 0 disk
├─mmcblk0p2 179:2 0 18,6G 0 part /
├─mmcblk0p3 179:3 0 35,8G 0 part /home
└─mmcblk0p1 179:1 0 3,8G 0 part
└─cryptswap1 253:0 0 3,8G 0 crypt [SWAP]
和自由度:
Filesystem 1K-blocks Used Available Use% Mounted on
udev 1913736 0 1913736 0% /dev
tmpfs 387044 6472 380572 2% /run
/dev/mmcblk0p2 19091584 5867364 12231352 33% /
tmpfs 1935208 63800 1871408 4% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 1935208 0 1935208 0% /sys/fs/cgroup
/dev/mmcblk0p3 36819652 872108 34054168 3% /home
tmpfs 387044 12 387032 1% /run/user/121
tmpfs 387044 92 386952 1% /run/user/1000
/home/jens/.Private 36819652 872108 34054168 3% /home/jens
因此,当我重新启动计算机时,出现“无可启动设备”的信息。
我尝试过但没有效果的方法:
- 在 BIOS 中设置“受信任文件”(或任何其名称),因为即使设置了管理员密码后,该选项对我来说也是不可用的。
- 运行启动修复时,我无法再使用现在的方法来访问操作系统。
有什么建议么?
答案1
非常感谢 fpl2 - 你给了我非常重要的信息,我已经尝试了几次。
请注意,所有这些都是在禁用安全启动的情况下完成的,并且从 USB 启动作为可启动设备列表顶部开始。
我设法在我的 Acer Aspire ES1-132-C8WF 上使用实时 USB 完成了 Ubuntu 18.04 的全新最小安装。不过,这次无需 REFIND,我发现在安装后,如果我再次运行 Ubuntu 安装 USB,然后运行实时会话(尝试 Ubuntu)并在终端中执行以下操作(您显然可以在 3 或 4 个命令中完成此操作,但这可以让您在操作过程中看到手动步骤):
sudo mount /dev/mmcblk0p1 /mnt
cd /mnt
ls
cd EFI
ls
sudo mkdir Microsoft
cd Microsoft
sudo mkdir Boot
cd Boot
sudo cp -r /mnt/EFI/ubuntu/* .
sudo mv shimx64.efi bootmgfw.efi
然后瞧!它启动了,并且“Windows 启动管理器”神奇地将“Windows 启动”(现在实际上是 Ubuntu 18.04)放在 F2 启动菜单列表的顶部。
答案2
最近我在这台笔记本电脑上安装了 LinuxMint,这个链接帮助我安装...
我在俄罗斯 Linux 论坛上找到了一种启动 Ubuntu 的方法,那里解释了这个问题的原因。原因是有人恶作剧地硬编码了所有可用于启动系统的路径(“非常感谢”)。这些路径是:
\EFI\Linux\BOOTX64.efi (Linux)
\EFI\Microsoft\Boot\bootmgfw.efi (Windows Boot Manager)
\EFI\ubuntu\shim.efi (ubuntu SECURE)
\EFI\ubuntu\shim$cpu$.efi (ubuntu SECURE)
\EFI\ubuntu\grub.efi (ubuntu NORMAL)
\EFI\fedora\shim.efi (Fedora)
\EFI\android\bootx64.efi (Android)
\EFI\opensuse\grubx64.efi (topenSUSE)
\EFI\redhat\grub.efi (Red Hat Linux)
\EFI\SuSE\elilo.efi (SuSE Linux)
\EFI\ubuntu\grub$cpu$.efi (ubuntu NORMAL)
答案3
好吧,我的头发已经没了,但还是有解决办法的。如果你和我的情况一样,这个方法可能有用。
这是我所做的。
- 进入 BIOS。设置管理员密码,然后禁用安全启动。
- 安装 Ubuntu 并使用手动分区。按照此帖子操作:安装时如何使用手动分区?还添加了第三个分区,大小为 200mb,挂载点
/boot/efi
,类型为 fat32 和启动标志。 - 创建
/boot/efi/EFI/boot
目录。 - 下载 rEFInd从这里并安装它。然后移动并将
/boot/efi/refind/refind_x64.efi
文件重命名为/boot/efi/EFI/boot/grubx64.efi
。
之后它就可以正常工作了。正如我所说,我反复思考过这个问题,可能错过了一些东西。如果其他人有我错过的东西,或者其中任何部分看起来很愚蠢,请告诉我,因为我相当迷茫。
编辑:如果您确实这样做了,然后又遇到了双重登录屏幕问题,请尝试通过删除以外的任何其他方式修复它gnome-screensaver
。那只会让我回到原点。
幸运的是,我可以通过将 refind 引导加载程序移至 /boot/efi/ubuntu/grubx64.efi 来修复它。
答案4
从 Ubuntu live USB 启动并选择无需安装即可试用 Ubuntu选项。
启动 GParted 以获取 EFI 分区地址。在我的例子中,这是
/dev/mmcblk0p1
。打开终端(Ctrl++ Alt)T。
创建媒体目录并将其附加到 EFI 分区目录:
sudo mkdir /media/EFI sudo mount <enter your path here>/media/EFI
就我的情况来说,它看起来像这样:
sudo mkdir /media/EFI sudo mount /dev/mmcblk0p1/media/EFI
创建
/EFI/Linux/
目录:sudo mkdir /media/EFI/EFI/Linux
从安装 Ubuntu 时创建的目录中复制所有现有文件。 在我的例子中,默认目录是
/EFI/ubuntu/
:$ sudo ls /media/EFI/EFI/ubuntu BOOTX64.CSV fw fwupx64.efi grub.cfg grubx64.efi mmx64.efi shimx64.efi
为此,请运行以下命令:
sudo cp -R /media/EFI/EFI/ubuntu/* /media/EFI/EFI/Linux/
BOOTX64.EFI
将文件从目录复制BOOT
到Linux
目录(无需确认,2周内没起作用):sudo cp /media/EFI/EFI/BOOT/BOOTX64.EFI /media/EFI/EFI/Linux
关闭所有窗口并重新启动
sudo reboot
。