![更改启动驱动器接口?](https://linux22.com/image/226694/%E6%9B%B4%E6%94%B9%E5%90%AF%E5%8A%A8%E9%A9%B1%E5%8A%A8%E5%99%A8%E6%8E%A5%E5%8F%A3%EF%BC%9F.png)
我有一个旧的 Debian 系统。该系统用于从 PCMCIA 驱动器启动。新的MB,需要更改引导驱动器上的接口。如何?
答案1
如果系统当前无法自行启动,您将需要从外部介质启动,挂载旧系统的文件系统并 chroot 到旧系统。
如果您在恢复模式下从 Debian 安装介质启动,它将自动为您执行 chroot。如果您从其他实时 Linux 介质启动,则过程如下:(替换<old root filesystem>
为包含旧安装的根文件系统的任何设备)
mount <old root filesystem> /mnt
mount -t proc none /mnt/proc
mount --rbind /dev /mnt/dev
mount --rbind /sys /mnt/sys
chroot /mnt /bin/bash
mount -a
然后,您需要进行编辑/etc/initramfs-tools/modules
以添加访问磁盘和根文件系统所需的模块,并删除不再适用的模块。对于 SATA 磁盘,所需的模块很可能是libata
、libahci
、ahci
,sd_mod
除非您的硬件非常特殊;分别适用于 NVMe、t10_pi
、nvme_core
和nvme
...,但来自硬件足够旧以使用 PCMCIA 的“旧 Debian 系统”可能不支持 NVMe。
(明确指定模块将确保将尝试包含它们,即使外部介质具有不同的内核配置。如果您在下一步中update-initramfs
看到“找不到模块”错误,则该模块可能已内置到内核中;尝试忽略update-initramfs
不可用的模块。)
之后,运行update-initramfs -u -k <kernel version>
。如果您不知道旧系统使用的是哪个内核版本,请运行ls /boot/vmlinuz-*
并查看vmlinuz-*
文件的版本后缀。
您还应该验证引导加载程序配置和内核引导选项是否通过标签或 UUID 引用系统磁盘和根分区,以及/etc/fstab
新 MB 的配置是否正确。