总结:我在 USB 上安装了 Android x86,主硬盘已拆下。现在,每当我想在 USB 上使用 Android 时,我都必须拆下硬盘,否则 USB 无法启动并显示This is not a bootable device
。我想在主硬盘仍连接的情况下使用 Android。谢谢。
很长的故事:
我在 USB 闪存驱动器上安装了 Android x86(LineageOS),但在此之前,我手动移除了计算机的主硬盘。USB 驱动器是当时连接到 PC 的唯一驱动器(除了空的 CD 驱动器)。Android 安装工作正常,一切正常,Android 运行良好,等等。然后我通过移除 Android USB 将系统恢复到正常状态,并在系统中更换了原来的硬盘,现在系统正常运行,其中装有原始操作系统(Windows)。
现在的问题是,如果我想通过该 USB 再次使用 Android,只有当该 USB 是唯一连接到 PC 的 USB 时,它才会启动。这意味着我每次都必须手动移除硬盘。如果我保留硬盘并通过 USB 启动机器(通过 F12 进入计算机的启动设备选择器菜单),就会出现错误This is not a bootable device
。
因此,我想在主硬盘仍连接的情况下在 USB 中使用 Android。我该怎么做(无需在其他地方重新安装 Android LineageOS,因为我已将内容存储在其中,并且我花了相当多的时间来调整许多设置和自定义等)
附加信息(如果有用):当我在 Windows 中读取 Android USB 时,它显示为标有“EFI”的驱动器,其根目录中包含以下内容:
\boot
\efi
\LOST.DIR
\Android
BOOTEX.LOG
startup.nsh
非常感谢。
答案1
以下是我最终修复它的方法:
我有格鲁布现在已安装为我的计算机的启动管理器。所以我所要做的就是
将 USB 上的 Android 分区标记为Android-x86(不是 USB 上的 EFI 分区,USB 上的 Android 分区是带有文件夹的隐藏分区
/cm-x86-14.1-r3/
,您可以通过 Grub2Win 的启动菜单扫描并查看 PC 上所有可用的分区和文件夹)在Windows下打开Grub2Win,添加了新的启动项,内容如下:
类型:Custom code
标题:Android x86 LineageOS
代码:
set partlabel=Android-x86
getbootpartition label $partlabel
linux /cm-x86-14.1-r3/kernel root=/dev/ram0 androidboot.selinux=permissive buildvariant=userdebug
initrd /cm-x86-14.1-r3/initrd.img
现在,当计算机启动时,如果连接了 Android USB 和主硬盘,Grub2Win 中会出现一个名为Android x86 LineageOS选择它可以正常启动 Android。