旧 PC 上的 Linux 系统盘直接插在新 PC 上,新 PC 能正常工作吗?

2022-08-20 23:48:20 +08:00
 gridsah

旧的无风扇主机上跑了个 Debian ,现在新入了一个无风扇主机,两个主机网卡相同,都是嘤特尔的 CPU 而且都没有无线网卡。

直接把新机器的 BIOS 调整到和旧机器配置相同,然后把旧机器的系统盘插到新机器上,系统能正常用吗?

initramfs 要不要重新生成一下?还有没有啥需要注意的?

( 内存还没送到所以没法测试....

2751 次点击
所在节点    程序员
16 条回复
linuxdev
2022-08-20 23:59:51 +08:00
一般来说是可以直接拿到另一台机器上使用的(如果没有设置过特殊的加密),完全没有问题
BIOS 也不用任何设置
initramfs 只是引导系统,和硬件没太大关系
codehz
2022-08-21 00:12:41 +08:00
uefi 的话,引导可能得重写一下)
jim9606
2022-08-21 01:42:08 +08:00
1. 有些 UEFI 实现得比较蠢,不会检测非 Windows 的引导器,那种得预先用 efibootmgr 写一下启动项。
2. debian 不清楚情况,但 ubuntu 默认的 intramfs 是打包所有内核模块的,所以应该没问题,除非你对这部分做过优化,可以用 lsinitramfs 检查内容
3.网卡命名可能会变,留意一下你的网络配置工具(NetworkManager/systemd-networkd/ifupdown)是怎么定位和配置网卡的。
mingl0280
2022-08-21 01:53:08 +08:00
有概率可以正常工作
cs8425
2022-08-21 04:08:48 +08:00
非笔电的情况
硬体年代不要差太多通常都行(~6 年)
BIOS 设定不一定要相同
只要开机引导正确就行
不行的话用个 liveUSB 开机
重装引导就行
ysc3839
2022-08-21 05:50:17 +08:00
@jim9606 UEFI 本来就不会检测操作系统吧?只会检测 /EFI/BOOT/BOOT<架构>.efi
Windows 的条目是系统自己加的
ltkun
2022-08-21 05:56:15 +08:00
大概率可以 我 Ubuntu 直接装移动硬盘上的 试过几台笔记本和台式机都 OK 顺便说一下 win10 也可以
LaTero
2022-08-21 07:39:26 +08:00
@ysc3839 我的微星的主板,你不放一个在默认路径,加了条目也直接给你抹了。grub-install 完的时候用 efibootmgr 反复确认是有这个条目,重启之后就没了。
https://wiki.archlinux.org/title/GRUB#Default/fallback_boot_path
微星是这个问题最多的
dingwen07
2022-08-21 08:02:16 +08:00
理论上可以
ysc3839
2022-08-21 08:23:28 +08:00
@LaTero 我微星的主板,在空硬盘中装黑苹果时把 Clover 放在 /EFI/BOOT/BOOTX64.efi 就会显示对应硬盘分区,在 Clover 中选择添加 UEFI 启动项,添加的启动项也可以跟另一个硬盘里的 Windows 启动项共存,并没有什么问题。
voiyy
2022-08-21 10:00:16 +08:00
@LaTero 微星主板是真的问题多,我的这个当初也是装系统引导搞了好久,刚买回来不能用还返修了一次,结果送回来的时候外面的金属框都磕变形了
ziseyinzi
2022-08-21 10:03:09 +08:00
有点歪楼了,如果是双系统,windows 大版本更新时会覆盖 /EFI/BOOT/BOOTX64.efi 。
所以最稳妥的办法还是在新电脑的 UEFI 里写入启动项,efibootmgr 写不进去的情况可以在 UEFI Shell 下用 bcfg 写。
Osk
2022-08-21 10:55:21 +08:00
把 \efi\debian(?)\shimx64.efi 复制一份为 \efi\boot\bootx64.efi
如果没有的话.

initramfs 可以先试试能不能启动, 不能启动试试 recovery initramfs, 还不能挂载 root 就需要启动 live cd, 重建 initramfs.
Jiceburger
2022-08-21 11:25:59 +08:00
我这么干过一次,引导过程中会有问题但是你可以用 root 来登录修复。印象中我要么是重新生成了 initramfs ,要么是强制重装了 kernel (这个过程也会重新生成 initramfs ) 然后就好了。
iceheart
2022-08-21 18:56:43 +08:00
我的 amd 上跑的 linux 系统盘拿到 intel 小主机上都没问题
jim9606
2022-08-21 23:20:58 +08:00
@ysc3839
正常情况下就算没在 NVRAM 添加引导项,也应该搜索 EFI/BOOT/BOOTX64.EFI 作为磁盘默认启动项。零售主板的“UEFI:磁盘名+分区号”就是指这个。

我见过比较恶心的有 Intel VisualBIOS(NUC 上)和 Acer InsydeH2O ( Acer 笔记本)。前者是没有默认引导项,BIOS 菜单没法改,只能用 efibootmgr 手写引导项;后者就比较奇葩了,efibootmgr 写了都没用,重启就会被还原,要激活 Secure Boot 和设置 Supervisor 密码之后手动添加 grubx64.efi/shimx64.efi 为可信引导器之后才能用。

https://bbs.archlinux.org/viewtopic.php?pid=1770999#p1770999

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/874266

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX