V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gridsah
V2EX  ›  程序员

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

  •  
  •   gridsah · 105 天前 · 2225 次点击
    这是一个创建于 105 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    initramfs 可以先试试能不能启动, 不能启动试试 recovery initramfs, 还不能挂载 root 就需要启动 live cd, 重建 initramfs.
    Jiceburger
        14
    Jiceburger  
       104 天前
    我这么干过一次,引导过程中会有问题但是你可以用 root 来登录修复。印象中我要么是重新生成了 initramfs ,要么是强制重装了 kernel (这个过程也会重新生成 initramfs ) 然后就好了。
    iceheart
        15
    iceheart  
       104 天前 via Android
    我的 amd 上跑的 linux 系统盘拿到 intel 小主机上都没问题
    jim9606
        16
    jim9606  
       104 天前   ❤️ 1
    @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
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1218 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 23:42 · PVG 07:42 · LAX 15:42 · JFK 18:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.