删除 Linux 分区后 Ubuntu 无法启动

删除 Linux 分区后 Ubuntu 无法启动

我知道现在这很愚蠢,我查看了互联网,但我只是格式化了安装了 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}

按住ctrlx,然后按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 兼容的独立应用程序。

相关内容