/dev/sda2
我正在尝试在我的机器上使用 Ubuntu(我的原始操作系统,在)、Kali Linux 和 Debian上设置多重启动。然而,我在安装 Debian 的过程中遇到了困难,并且由于 Ubuntu 需要很长时间才能启动,所以我按照以下步骤进行操作:这个帖子使启动过程更快。但是当我重新启动我的机器时,Ubuntu 只会以紧急模式启动...我唯一能注意到的是,在我的系统中,/etc/fstab
与我的 Ubuntu 分区相关的行消失了。
我很乐意在这里发布我的 fstab 内容,但我不知道如何将其从紧急模式复制到这里(我正在使用我的 Kali Linux 来/dev/sda5
写这篇文章)。也许有一种方法可以恢复我的 fstab?
编辑1
这是我的内容/etc/fstab
:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# /boot/efi was on /dev/sda1 during installation
UUID=95B2-5AED /boot/efi vfat umask=0077 0 1
# /home was on /dev/sda3 during installation
UUID=69d6623e-0bcc-4cef-8b25-e46c98210d44 /home ext4 defaults 0 2
# swap was on /dev/sda4 during installation
UUID=a8ee0943-0cd9-4dba-b018-ca00fc450e5d none swap sw 0 0
这是结果blkid | grep UUID
:
/dev/sda1: UUID="95B2-5AED" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="f3ead83c-a7ca-453b-8317-a854080d37fc"
/dev/sda2: UUID="7d4d2f18-146c-4d56-b5f3-0dc605eeb9e0" TYPE="ext4" PARTLABEL="Ubuntu" PARTUUID="94d6c9bd-30da-4abf-a784-41e20992fdd4"
/dev/sda3: UUID="69d6623e-0bcc-4cef-8b25-e46c98210d44" TYPE="ext4" PARTLABEL="Home" PARTUUID="dd1299b6-adb1-45c0-99a6-94e922f4964b"
/dev/sda4: UUID="a8ee0943-0cd9-4dba-b018-ca00fc450e5d" TYPE="swap" PARTUUID="228fa2d0-8b0c-4562-bb5a-ebb73bb00f04"
/dev/sda5: UUID="489b70a2-db82-4b0c-bebd-cf19a403ade1" TYPE="ext4" PARTUUID="48ba997c-e595-45c1-93c0-b97e4f7ffbf5"
/dev/sda6: UUID="9068da24-6073-45dc-a18e-29634daa3910" TYPE="ext4" PARTUUID="9033f352-349f-4cee-94bf-c686f462adea"
编辑2
我e2fsck
在我的 Ubuntu、home 和 Debian 分区上运行了该命令,现在 Ubuntu 不再启动到紧急模式,而是开始正常启动,但在加载一段时间后冻结。
答案1
由于您的 Kali 安装正在运行,您可以使用它在 chroot 中访问您的 Ubuntu 安装。为此,请以 root 身份运行以下命令:
mkdir /ubunturoot
mount /dev/sda2 /ubunturoot
mount -o bind /dev /ubunturoot/dev
mount -o bind /dev/pts /ubunturoot/dev/pts
mount -o bind /proc /ubunturoot/proc
mount -o bind /sys /ubunturoot/sys
chroot /ubunturoot
现在你的命令提示符窗口(注意:仅限这个特定的 shell!)应该可以访问你的 Ubuntu 根文件系统,就像你登录到 Ubuntu 并成为 Ubuntu 中的 root 一样。看一下并确保一切都正常。
如果你的 Ubuntu/etc/fstab
有错误,现在你可以编辑它。
修复此问题后,首先确保/boot/efi
文件系统已安装在您的 Ubuntu chroot 中:
mount /boot/efi
然后运行ls /lib/modules
查看一个或多个以内核版本号命名的目录。用于update-initramfs -u -k <kernel version number>
更新相应 Ubuntu 内核的 initramfs 文件。 (由于您现在真正运行的是 Kali 的内核,因此必须显式指定 Ubuntu 内核的版本号:尝试更新默认内核将导致错误消息,因为 Ubuntu 和 Kali 的内核版本不太可能匹配。)
然后检查/etc/default/grub
提及文件系统 UUID 的引导选项或操作系统安装中可能已更改的其他内容。根据需要进行修复,然后运行update-grub
以更新 Ubuntu GRUB 引导加载程序的配置文件。
解决了发现的所有问题后,手动撤消临时 chroot 环境:
umount /boot/efi
exit # out of the chroot environment, back to Kali native view of the filesystem
umount /ubunturoot/sys
umount /ubunturoot/proc
umount /ubunturoot/dev/pts
umount /ubunturoot/dev
umount /ubunturoot
rmdir /ubunturoot
答案2
我对 fstab 的邪恶添加导致只读也[到处]...找到了这个解决方案;从(以前的版本无关紧要)服务器安装 CD 或棒启动,选择“救援损坏的系统”(语言、键盘)并插入已知的服务器名称并选择“用作根文件系统的设备”[;/dev/ sda1]。选择“在 /dev/sda1 中执行 shell”并在屏幕底部你发现 # .... 与 #cd /etc 我被允许编辑 fstab (讨论“邪恶”).... 退出并重新启动。