init 在恢复时无法在计算机上找到根设备

init 在恢复时无法在计算机上找到根设备

我对这个有点没有解决方案:我正在恢复一台运行 archlinux 的旧计算机(15 年前......)。我无意中删除了 pacman 包数据库(以及所有 /var ...),并且我试图让它再次启动而不重新安装(还有一些 /etc 其他东西我想保留...)。

我不支持 EFI,grub 安装在磁盘 mbr 上,其配置位于专用的 /boot 分区上。

我使用了 Manjaro live cd 来 chroot 并升级了基础、linux 和所有基本软件包(我希望系统能够启动,以便我继续从正在运行的系统中重新安装其他软件包)。

但是,我无法获得可用的 initramfs。我已多次尝试完成整个mkinitcpio -P,grub-installgrub-mkconfig,但重新启动时,我总是收到“无法找到根设备'...'`

我尝试从 grub 编辑命令行,但是UUID=...LABEL=.../dev/...版本都不起作用...(顺便说一句,grub 配置似乎是正确的,因为 UUID 与打印的 UUID 相匹配)lsblk

我可能错过了什么?外包装中是否有一些文件(不被 pacman 跟踪)可能会干扰?我应该强制重新安装哪个软件包才能获得可用的 initramfs ?

(编辑)

initrd 没有提供太多(只有传统的device .. not found. Skipping fsck和 )Unable to find root device ...。还有一个sh: can't access tty: job control turned off。我没有键盘访问权限。

grub安装很简单grub-install --target=i386-pc /dev/sdb

grub 命令行是:

load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
search --no-floppy --fs-uuid --set=root ...
linux /vmlinuz-linux root=UUID=... rw loglevel=3 quiet
initrd /initramfs-linux.img

编辑2

我能够插入 PS/2 键盘,现在可以使用紧急 shell...在 /dev 中,没有列出硬盘驱动器。我想这就是为什么它找不到根文件系统的原因......

相关内容