V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
cathedrel
V2EX  ›  Linux

如何安装出一个 Linux -to-go?做到类似 Windows-to-go 需要怎么操作?

  •  
  •   cathedrel · 2023-12-19 17:15:49 +08:00 · 3149 次点击
    这是一个创建于 369 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近两年一直是用一个高速 u 盘装操作系统,设置好的东西可以随身带走,蛮方便的。

    但是最近安装好的最新版的 manjaro 系统在换了机器后就无法正常启动了,提示的文字好像是驱动不能正常加载(最早开始这么用操作系统的时候我记得在一台机器上安装好的 Linux 系统可以直接在别的机器上启动)

    那么现在安装 Linux 操作系统到 u 盘的时候需要怎么操作才能确保在别的机器上也能正常启动?

    还有一个问题就是:已经在 u 盘上安装好的系统,能不能通过什么方式给这个系统“灌注”、“添加”所有常见的 Linux 驱动、好让这个系统在别的机器上也能正常启动?毕竟调试好的系统,花了很多时间才做到用的顺手,再重新弄,想想都累

    谢谢大家
    39 条回复    2024-01-01 01:57:35 +08:00
    duzhuo
        1
    duzhuo  
       2023-12-19 17:41:28 +08:00
    插眼 我也觉得驱动是大问题
    1252603486
        2
    1252603486  
       2023-12-19 17:44:04 +08:00
    好像可以换个方式实现,用虚拟机的镜像,只要另一个电脑虚拟机软件就可以了
    ruanimal
        3
    ruanimal  
       2023-12-19 17:44:07 +08:00
    看看 ventoy ?
    ruanimal
        4
    ruanimal  
       2023-12-19 17:44:47 +08:00
    @ruanimal 支持启动虚拟磁盘里的 linux
    yinh0715
        5
    yinh0715  
       2023-12-19 17:51:25 +08:00
    ventoy
    joyanhui
        6
    joyanhui  
       2023-12-19 18:00:45 +08:00
    不要拿 windows 的想法套 linux 上来了,linux 的驱动是在内核里面。不是用户态的。

    常见的发行版本身就是可以在常规硬件设备的上启动的。部分特殊设备(显卡 网卡)才需要单独装软件包。但是不会导致你说的驱动不正常加载导致无法启动的问题。最多是某一个硬件无法驱动而已。
    slrey
        7
    slrey  
       2023-12-19 18:02:32 +08:00
    换个发行版试试?我一直用的 openSUSE ,就是直接装 U 盘,至少插过 7 台不同电脑( 5 台式机,2 笔记本,甚至还有一个兆芯笔记本),都正常使用。
    leonshaw
        8
    leonshaw  
       2023-12-19 18:06:22 +08:00
    参考发行版的 live-CD/USB
    YsHaNg
        9
    YsHaNg  
       2023-12-19 18:10:17 +08:00 via iPhone
    wtg 就是装系统时候的 livecd 装好一个完整系统到处插我就在用 没有问题 需要知道电脑的硬件 比如 MacBook 得在另一台电脑提前注入驱动 更新包的时候注意不要 cleanup
    sylxjtu
        10
    sylxjtu  
       2023-12-19 19:01:18 +08:00 via Android
    puppylinux
    Hobr
        11
    Hobr  
       2023-12-19 19:10:41 +08:00
    livecd ?其实最主要的问题就是驱动吧
    Chuckle
        12
    Chuckle  
       2023-12-19 19:59:02 +08:00   ❤️ 4
    Ventoy ,把 linux 、win 啥的 vhd 虚拟机硬盘扔进去就能启动,数据也能保存,https://www.ventoy.net/cn/
    cathedrel
        13
    cathedrel  
    OP
       2023-12-19 20:03:10 +08:00
    @ruanimal 不看,我是一直听说这玩意厉害,但是我自己试用下来的结果是一直不能启动,不知道他网站上说的那么简单的启动效果怎么实现的
    cathedrel
        14
    cathedrel  
    OP
       2023-12-19 20:04:19 +08:00
    @slrey 曾经装过这货,但是我对它一点好感都没有,以前用它的时候经常遇到莫名其妙的问题
    cathedrel
        15
    cathedrel  
    OP
       2023-12-19 20:05:37 +08:00
    @Chuckle 这货几年前刚冒出来的时候我就试用了,在我的硬件上就是不能实现我想要的启动效果,难道是我的机器太偏门?双至强服务器的兼容性这么差?
    huntagain2008
        16
    huntagain2008  
       2023-12-19 22:23:13 +08:00
    我非计算机专业
    最新版系统和换机器可能是导致问题的原因。可以考虑:
    1. 系统回滚到之前的版本。
    2. 尝试使用兼容性和稳定性更好的发行版
    beetlerx
        17
    beetlerx  
       2023-12-19 22:44:25 +08:00
    这不就是 liveCD 么 https://cn.v2ex.com/t/974678
    Gldwolf
        18
    Gldwolf  
       2023-12-19 22:45:04 +08:00
    我用的 chipfancier 装的 ubuntu 几台机器都没有问题,只是有的机器上个别硬件没法驱动,但是基本功能不影响
    cathedrel
        19
    cathedrel  
    OP
       2023-12-20 01:47:46 +08:00
    @Gldwolf 谢谢提示,我来看看这个 chipfancier 是不是够牛
    cyp0633
        20
    cyp0633  
       2023-12-20 05:33:24 +08:00
    @cathedrel 你也知道是几年前
    huntagain2008
        21
    huntagain2008  
       2023-12-20 09:32:08 +08:00
    我非计算机专业。我也曾使用固态 U 盘 Chipfancier 作为系统盘,但稳定的关键一是固态 U 盘稳不稳(了解过用过的人用了 3 年没出问题),二是系统兼容性稳定性好不好(楼上用的是 Ubuntu )。我当时使用的是 Arch Linux ,但在一次更新后,i3-9100 的机器出现问题,而使用 i5 等其他机型则正常。最终,我只好将系统更换为 Kubuntu ,慢是慢一点,能用。
    samhjn
        22
    samhjn  
       2023-12-20 10:39:44 +08:00 via iPhone
    在 initramfs 里面多打包一些常用驱动就可以了。有些发行版可能只会打当前机器需要用到的驱动,有的发行版则会多打包一些。
    libook
        23
    libook  
       2023-12-20 10:58:25 +08:00
    你试试开机进入 Grub 菜单(忘了是 ESC 还是 Shift 来着),Advanced 里面选 recovery mode ,想办法进系统。进去后 Manjaro Settings 里降低内核版本试试。
    现在最新内核是 6.6 ,我用有一些软件或驱动的兼容问题,降低到 5.15LTS 之后就好了。估计得等软件、驱动啥的适配新内核,或者内核完善对软硬件的兼容性。
    zuiwu
        24
    zuiwu  
       2023-12-20 12:27:36 +08:00
    我目前是通过 dism 将当前系统每日备份到移动硬盘,使用时从移动硬盘恢复到其他设备,但是比较麻烦
    zuiwu
        25
    zuiwu  
       2023-12-20 12:28:13 +08:00
    @zuiwu 但是 dism 备份时好像可以将.wim 转换为可从硬盘启动的格式,这个还没具体研究。
    zuiwu
        26
    zuiwu  
       2023-12-20 12:29:08 +08:00
    @zuiwu 看错了,忽略我
    cutecore
        27
    cutecore  
       2023-12-20 13:32:26 +08:00
    @sylxjtu 嗯嗯,13 年玩过,可以
    tallest
        28
    tallest  
       2023-12-20 14:11:30 +08:00
    @cathedrel 你漏了啥步骤吧,那玩意儿启动确实就和官网一样简单啊,我去年疫情封在朋友家的那个月就用的这玩意儿
    cathedrel
        29
    cathedrel  
    OP
       2023-12-20 15:07:09 +08:00
    @cyp0633
    @tallest
    最近一次玩是半年前,在华硕的笔记本上和我自己的台式机还还是不能正常启动
    cnbatch
        30
    cnbatch  
       2023-12-20 15:58:25 +08:00
    @joyanhui Windows 的驱动也是运行在内核态的,并不是用户态。所以准确来说,对应的 Linux 概念是“树外驱动”,理解起来就是:Windows 主要靠“树外模块”。
    cnbatch
        31
    cnbatch  
       2023-12-20 16:04:20 +08:00
    OP 这个目标对于大多数不那么新的硬件其实直接就能用,但如果硬件很新,那就可能需要使用第三方驱动了,而这种情况下也不太可能知道应该预先下载、使用哪些驱动。

    如果对应机器需要闭源驱动,那么制作“to-go”时甚至都不知道应该用什么驱动,除非是 NVIDIA 这种过于明显的(不过 NVIDIA 也有社区驱动)。
    cathedrel
        32
    cathedrel  
    OP
       2023-12-20 16:51:10 +08:00
    @Gldwolf 这个 chipfancier 是个硬件啊?我还以为是某个软件
    yanqiyu
        33
    yanqiyu  
       2023-12-20 18:09:37 +08:00 via Android
    一样的装,initrd 生成的时候用 hostonly=no 之类的参数(不同的工具叫法不一样,总之就是在 initrd 里面放进去所有可能对启动有必要性的模块)
    xuanzc880
        34
    xuanzc880  
       2023-12-21 00:13:49 +08:00
    manjaro 是基于 arch 的,默认内核生成策略是只在内核引导中加载更新内核时当前电脑使用的驱动,默认的 grub 应该还有一个 fallback 后缀的启动项,这个内核包含了所有驱动,你用这个启动项启动试试.
    cathedrel
        35
    cathedrel  
    OP
       2023-12-21 00:16:10 +08:00
    @samhjn 怎么打包驱动?能给点方向吗?
    cathedrel
        36
    cathedrel  
    OP
       2023-12-21 00:19:10 +08:00
    @yanqiyu “initrd 生成的时候”,我在安装 linux 的时候从来没有遇到过指定 initrd 的时候(都是图形界面安装或者 debian 那种文字安装界面),怎么在安装的时候制定 initrd ?
    YGHMXFAL
        37
    YGHMXFAL  
       357 天前 via Android
    这个我专业

    ①你需要专门为此情景而打造地 LIVE 发行版,搜索关键词“LINUX LIVE PERSISTENCE”

    然后更进一步,你可以拿 GRUB2 的子组件 mkstandalone 来生成一个内嵌 grub.cfg 的 EFI(今年还在使用 legacy 模式吗)

    这样就可以打造一款解压即用地 LINUX TO GO 了

    ②我直接给你推荐几款吧

    antix/debian live

    systemrescuecd

    porteus

    ③PS:其实不限于特定发行版,任何发行版都可以搞成你所谓地 LINUX TO GO 方案,无非就是几个问题:

    [A]启动所需地 kernel+initramfs 存储在哪儿?GRUB2 如何找到它们?根据 FS-UUID/FILE/DEVICE-ID?

    [B]PERSISTENCE 分区是哪个?GRUB2 如何找到它们?根据 XXX?

    [C]LIVE 模式下所需要地特定 boot 参数,这个每款发行版都不同,需要在官方 man 中查找
    YGHMXFAL
        38
    YGHMXFAL  
       357 天前 via Android
    #36 debian 在安装过程中会让你选择,“仅生成适用于当前硬件的 initramfs”还是“在 initramfs 中包含所有驱动”,个人建议永远选择后者,你不会缺这么一点儿存储空间吧
    YGHMXFAL
        39
    YGHMXFAL  
       357 天前 via Android
    我曾经高强度使用 kali live persistence 长达 1 坤年,甚至源里的几款 FSP/RTS 游戏都畅玩,没有启动不了地机器
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   863 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 21:40 · PVG 05:40 · LAX 13:40 · JFK 16:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.