我知道现在这很愚蠢,后我查看了互联网,但我只是格式化了安装了 GRUB 的分区。
现在,无论何时启动,都会出现错误 15(表示“未找到文件”)。
因此,我取出了我的 Ubuntu 11.04 活动磁盘并将其安装在格式化的分区顶部,现在至少我可以启动了 - 但我现在想摆脱重复的 Ubuntu。
我认为我需要做的是让 GRUB 回顾我的第一个分区 - 我已经将其设置为 /dev/sda1,或者在 GRUB-talk 中为 (hd0,0)。但是,当尝试
grub> root (hd0,0)
grub> setup (hd0)
或尝试:
grub> root (hd0,0)
grub> setup (hd0,0)
我最终得到:
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... no
Error 15: File not found
这可不好!
我的sudo fdisk -l
样子如下(从实时安装运行):
Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ce6db
Device Boot Start End Blocks Id System
/dev/sda1 * 1 28210 226594816 83 Linux
/dev/sda2 29255 30402 9212929 5 Extended
/dev/sda3 28210 29255 8388608 83 Linux
/dev/sda5 29255 30402 9212928 82 Linux swap / Solaris
Partition table entries are not in disk order
Disk /dev/sdb: 7948 MB, 7948206080 bytes
245 heads, 62 sectors/track, 1021 cylinders
Units = cylinders of 15190 * 512 = 7777280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00077236
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 1021 7754464 b W95 FAT32
(注意:sdb1 是我的 livedisk,一张 8GB 的 SD 卡)
附言:我之所以经历这一切是因为我想要安装 Android-x86,但是它附带的 GRUB 无法识别 Ubuntu,所以它不能算是双启动。
答案1
您说您可以启动旧 Ubuntu。如果是这样,那么修复这个问题应该相当容易。打开一个方便的终端并在主 Ubuntu 上尝试此操作:
sudo update-grub
sudo grub-install /dev/sda
sudo grub-install /dev/sda --recheck
至于如何让 Android 工作,你可能可以在没有引导加载程序的情况下安装它。然后启动到主 Ubuntu 并运行
sudo update-grub
看看是否能找到它。
答案2
我相信这适用于任何 Ubuntu 发行版,可以与 Android X86 实现双启动,而无需为每个操作系统使用单独的分区。这得益于能够对两个操作系统使用相同的 ext4 日志文件系统。我花了几天时间来编译它。如果您的 Ubuntu 或 Android X86 发行版不同,只需记住进行适当的终端命令更改(Android X86 4.4 到 5.1 看起来像;initrd /android-4.4-r3/initrd.img}
到initrd /android-5.1-r1/initrd.img}
)。在下载 .ISO 文件之前,请检查系统是否支持 64 位。如果您的系统不支持 64 位,请使用 32 位或 86 位。
如何安装 Android 4.4 x86 r3 和 Ubuntu 双启动(在同一分区上)
(适用于 Android X86 的其他修订版本)
你需要的东西:
- 未分区的 HDD(已格式化)
- (x2)2GB 或更大容量的 USB 闪存盘
- 将 .ISO 文件刷入 USB 闪存盘的辅助 PC
首先下载 Unetbootin 和适用于 Android x86 和 Ubuntu 的 .ISO 文件。
将 .ISO 文件刷入每个 USB 闪存驱动器。
在已格式化 HDD 的 PC 上进入 BIOS 并启用从 USB/CD 启动。
重新启动 PC,插入包含 Ubuntu .ISO 的 USB 闪存驱动器并完成完整安装。
重新启动 PC,插入包含 Android x86 4.4 r3 的 USB 闪存驱动器,并按照以下例外情况开始安装:
- 出现提示时,选择 HDD sda1 并且不要格式化或选择其他文件系统。
- 出现提示时,请不要安装 GRUB 或 EFI GRUB 2。
- 出现提示时,选择读写。
移除所有媒体并启动电脑(它将自动加载 Ubuntu)。
打开终端并输入:
sudo -i
nano /etc/grub.d/40_custom
使用箭头键,导航到自定义引导加载程序菜单中最后一个当前条目下方的行,并进行以下四个条目的输入:
menuentry "Android-x86" {
set root='(hd0,1)'
linux /android-4.4-r3/kernel quiet root=/dev/ram0 androidboot.hardware=generic_x86 acpi_sleep=s3_bios,s3_mode SRC=/android-4.4-r3
initrd /android-4.4-r3/initrd.img}
按住ctrl,x,然后按y,然后按Enter
类型:
sudo chmod +x /etc/grub.d/40_custom
sudo update-grub
sudo reboot
BIOS 加载后立即按住 Shift 键直到 GRUB 加载。
选择您想要使用的操作系统。
推荐!首先加载 Ubuntu,然后创建新的双启动设置的磁盘映像(.ISO 文件),并将其刷新到另一个 USB 闪存驱动器并将其存储为备份。您可以在应用任何更新或安装任何您想要的程序后执行此操作。
结果应该是双启动的 Ubuntu 和 Android X86,利用默认的 Ubuntu GRUB2 启动加载器菜单,其优点是:没有单独的操作系统分区,共享 Linux 交换空间,相同的文件系统 (ext4),安装 Android 应用程序的空间仅限于硬盘上剩余的空间(而不是弱的 2Gb-??Gb 分区),并且能够在 Ubuntu 和 Android X86 之间浏览文件。本质上,您已经在 Ubuntu 中安装了 Android X86。
笔记:Unetbootin 现在有一个可下载且与 Windows 兼容的独立应用程序。