我的计算机上安装了 Linux Debian。我的分区表如下:
sda1: __________________________________________________________________________
File system: vfat
Boot sector type: FAT32
sda2: __________________________________________________________________________
File system: ext4
Operating System: Debian GNU/Linux buster/sid
sda4: __________________________________________________________________________
File system: ext4
在 /dev/sda1 上,我有 EFI 引导分区,/dev/sda2 是我的根目录 ( /
),/dev/sda4 挂载为/home
.为了安装 Manjaro Linux,我调整了分区大小(通过 GParted)并得到以下分区表:
sda1: __________________________________________________________________________
File system: vfat
Boot sector type: FAT32
sda2: __________________________________________________________________________
File system: ext4
Operating System: Debian GNU/Linux buster/sid
sda3: __________________________________________________________________________
File system: swap
sda4: __________________________________________________________________________
File system: ext4
sda5: __________________________________________________________________________
File system: ext4
Operating System: Manjaro
如您所见,我添加了 /dev/sda3 作为交换分区,添加 /dev/sda5 作为安装 Manjaro 的分区。在安装过程中,我格式化了 /dev/sda1(我从中启动 Debian),并且 Manjaro 在那里安装了它的启动文件。安装后,GRUB 中有两个选项:引导 Debian 和引导 Manjaro。引导 Manjaro 工作正常,但引导 Debian 会出现Welcome to emergency mode!
问题。系统要求我提供 root 密码,但输入密码后似乎没有任何反应(也许我忘记了密码,但没有任何消息表明它是错误的)。经过一番谷歌搜索后,我得出的结论是 Debianfstab
可能是不正确的。请看一下:
# / was on /dev/sda2 during installation
UUID=de26f007-befa-4524-b1c8-059e115aa36c / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
#UUID=B1D2-AC43 /boot/efi vfat umask=0077 0 1
# /home was on /dev/sda4 during installation
UUID=5c273b54-01ad-4186-9821-1e90980a8913 /home ext4 defaults 0 2
# swap was on /dev/sda3 during installation
#UUID=9da48f63-2583-4e29-8997-3c6474e4bcbc none swap sw 0 0
UUID=ECA5-260F /boot/efi vfat defaults 0 1
我应该怎么做才能让我的 Debian 正常工作?
编辑
我已经尝试过什么AB在评论中建议(即添加 /dev/sda2 到 grub 参数),但它不起作用。
我无法提供
journalctl -xb
该错误消息杰德狼在评论中建议,因为 Debian 在提供 root 密码后不会让我进入(我无法登录)。我尝试将 fstab 中的内容注释为特里格评论中建议。现在 Debian 启动到与紧急模式不同的模式。
编辑2
$ lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1 vfat 5AD2-7533 510.7M 0% /boot/efi
├─sda2 ext4 de26f007-befa-4524-b1c8-059e115aa36c 5.5G 60% /mnt/sda2
├─sda3 swap 62f96d88-8521-453b-8df7-9c61095ec52c [SWAP]
├─sda4 ext4 5c273b54-01ad-4186-9821-1e90980a8913 19.5G 71% /run/media/michal/5c273b54-01ad-4186-9821-1e90980a8913
└─sda5 ext4 d6f9b919-1373-4285-81e8-9f0838d660d7 1G 86% /
答案1
您应该启动正在运行的 Linux。之后你尝试改变根进入Debian系统。作为 root 试试这个(可能有错别字):
mount UUID=de26f007-befa-4524-b1c8-059e115aa36c /mnt
mount UUID=5c273b54-01ad-4186-9821-1e90980a8913 /mnt/home
mount UUID=ECA5-260F /mnt/boot/efi
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /run /mnt/run
mount --bind /sys /mnt/sys
chroot /mnt
在 debian 中,您可以使用以下命令重置任何用户的密码密码并尝试验证 fstab(如果尚未验证)。
不要忘记彻底卸载这个烂摊子;)
答案2
你是说,你格式化了启动 Debian 的分区,然后将 Manjaro 启动文件放在那里?那是对的吗?如果是,那么您用 Manjaro 的引导文件覆盖了 Debian 系统。可能无法让 Debian 安装再次启动......!
当您尝试启动 Debian 时它挂起的原因是 Debian 已不存在。 grub 条目在那里,因为它应该位于 sda1 上。然而,Manjaro 的启动文件现在驻留在 Debian 所在的 sda2 上,因此系统会停止。
Grub 应安装在与之前的 grub 相同的分区上,并且操作系统应使用 install across 选项安装。
引导文件应位于其自己操作系统的根分区上,或者位于您打算使用的任何其他操作系统未占用的分区上。
从提供的信息中我可以看到的唯一选择是使用数据恢复工具从该分区恢复可以恢复的内容,因为引导文件的格式和相对较小的覆盖很可能不会破坏所有数据。您可能会带着所需的所有文件离开这里,并学到一个很好的教训。这些事情发生了,这就是为什么存在解决这些问题的工具,毕竟我们都是人类。
答案3
您能在 Manjaro 下“看到”您的 Debian 分区吗?您能否安装它(最好是只读的)并检查它“看起来”是否正常?
如果两个问题的答案都是“是!”,则获取该分区的 UUID 并将其提供给 grub 命令行,以确保引导正确的分区。
如果任一问题的答案是“否!”,那么我会同意迈克尔·普罗科佩克的答案,并宣布你不走运。
答案4
当你格式化 SDA1 时,它得到了一个新的 UUID,看起来你的 Debian在安装时fstab
找不到/boot/efi
。
尝试fstab
如下。swap
如果没有安装 Debian,请注释掉。
# /boot/efi was ECA5-260F looks wrong
UUID=5AD2-7533 /boot/efi vfat defaults 0 1
# / was on de26f007-befa-4524-b1c8-059e115aa36c looks OK
UUID=de26f007-befa-4524-b1c8-059e115aa36c / ext4 errors=remount-ro 0 1
# /home was on 5c273b54-01ad-4186-9821-1e90980a8913 looks OK
UUID=5c273b54-01ad-4186-9821-1e90980a8913 /home ext4 defaults 0 2
# swap was 9da48f63-2583-4e29-8997-3c6474e4bcbc looks wrong
# try with and without swap commented
#UUID=62f96d88-8521-453b-8df7-9c61095ec52c none swap sw 0 0