用 MX Linux 制作可保存数据的外置 U 盘系统

本文介绍一种方案,把 Linux 系统装在 U 盘或者移动硬盘里,插在几乎任何电脑上,都可以当作自己的电脑来用。很多 Linux 的安装盘,都可以直接启动进入 Linux 系统,但这些系统都无法保存更改,每次启动后都恢复原样。MX Linux 提供了制作可持久(persistent)的外置系统的方案,制作好的 U 盘,内部可以保留个人数据和安装的软件,不会被在使用的电脑原先的系统所获取。虽然大多数人对于 Linux 桌面系统并不熟悉,但进行简单的文档处理、收发邮件、或者使用隐秘的联络工具,还是够用的。

这样的随身系统,适用的场景:

  • 出差或更换办公场所时,不需要专门携带电脑,就可以使用自己预装了软件的外置系统(譬如在电竞酒店办公……
  • 一些隐密的工作,可以完全在外置系统上进行,避免在自己的电脑上留下痕迹。可以对 U 盘进行加密,其它人拿到也无法获取里面的内容。

用来制作随身系统的存储介质,大概分三种,文中统一用 “U 盘” 来称呼。——实际上,也可以插在 type c 上,速度会更高。

  1. 普通 U 盘,通常 32~128GB,成本几十元。最好能支持 USB 3.0,但即使如此,读写速度也很慢,可以通过设置,把系统读取到内存中来提升速度。适用于强度不高的场合。
  2. 外置 NVME 硬盘,就是把笔记本电脑里那种高速硬盘,装在外置硬盘盒里。容量 128GB~2TB 不等,价格 ¥300 到上千元,速度很快,可以装更多软件和数据,适用于长期使用的外置系统。
  3. 普通移动硬盘。几百 GB 到 4TB,容量大,但读写速度并不高,和上述两种比起来,不上不下,比较鸡肋。但也可以用一小部分空间分区安装随身系统,其它空间仍然作为日常硬盘使用。

MX Linux 的官网: https://mxlinux.org/ ,有多种语言的使用手册。

安装步骤

如何烧录 U 盘、安装虚拟机之类的,就不详细写了。纯粹的非技术人士,大概也不会真的动手搓这个。所以更多是一些关键步骤的备忘录吧。

1. 下载 MX Linux 系统镜像

从官网下载系统镜像,推荐使用 ahs(Advanced Hardware Support)版本,能更好地支持最新的硬件。写这篇文章时,下载的最新的镜像是 MX-25.3_Xfce_ahs_x64.iso

2. 烧录 U 盘,或虚拟机

有几种安装的方式:

  1. 传统的最简单的方法,是准备两个 U 盘,先把 .iso 镜像烧录到第一个 U 盘上,用 U 盘启动电脑进入 MX Linux,再把正式系统装在第二个 U 盘上。
  2. 如果你只有一个 U 盘,最便利的方法,是安装 VirtualBox,用虚拟机挂载 .iso 和 U 盘,启动后直接装在最终 U 盘上。
  3. 如果只有一个 U 盘,也不装虚拟机,可以烧制 U 盘,启动时选择把系统加载到内存里,然后就可以覆盖这个 U 盘,把系统装到同一个 U 盘里。下文会提及,但是,使用 Ventoy 烧制的 U 盘不能这样做。

烧录 U 盘的方法

很多 Linux 发行商都提供了烧录 U 盘的详细攻略,譬如 Ubuntu 这篇。Windows 推荐用 Rufus,Mac 推荐用 balenaEtcher 或者终端里的 dd 命令。

注:Rufus 默认不识别大容量的外置硬盘,需要打开 Advanced – List USB Hard Drives 设置。

这几年新出现的 Ventoy 工具,烧制 U 盘更加简便,只需要烧制一次 U 盘,以后把任何 .iso 直接复制到 U 盘里,就可以直接启动。但是如果安装时只有一个 U 盘,就不能用上文的第 3 种方法,把 MX Linux 装在同一个 U 盘上。

使用 VirtualBox 虚拟机的方法

可以参见这个视频教程,视频里的 VirtualBox 和 MX Linux 的版本界面有些旧了,但总体大同小异。

在 VirtualBox 新建虚拟机,

  1. 在 Name and Operating System 一栏,设置:
    • 虚拟机的名称
    • 所在文件夹(无所谓用默认的,装完直接删掉虚拟机就可以了)
    • 挂载 .iso 镜像文件
    • OS Type: Linux
    • Subtype: Debian 64 位
  2. 在 Hardware 一栏,设置:
    • 内存、CPU,随便多拉一点就可以了,无所谓
    • 开启 Enable EFI
  3. 在 Hard Disk 一栏,选择 Do not Add a Virtual Hard Disk,不需要创建本地磁盘
  4. 完成新建虚拟机,然后先不要启动,把最终要安装的 U 盘插上电脑,打开虚拟机的设置界面,挂载 U 盘:
    • 虚拟机 – Settings – USB – Enable USB Controller
    • USB 3.0(蓝色插口)和 Type C 的设备,都可以选择 USB 3.0 Controller,如果没有,可以试试 USB 2.0 那些
    • 点击下方右侧的绿色 + 号图标,添加 U 盘设备
    • 保存设置
  5. 然后就可以启动虚拟机了。

3. 安装系统

从 U 盘启动电脑(不同电脑,开机后选择从 U 盘启动的按键和界面不同,大家自行研究),或者启动虚拟机。

首先进入 MX Linux 的引导界面,这个时候修改语言时区等选项,只会作用于安装界面,而不是最终的系统,因此也就没什么必要。

如果使用上文的第 3 种方式(只用一个 U 盘,烧录安装程序,用 U 盘启动,再安装到同一个 U 盘上),那么,此时需要设置 Advanced Options – Boot Options – toram Copy the compressed file system to RAM,完全在内存中运行系统,不再占用 U 盘。

最上面 2 行的 SysVinit 和 systemd 是 Linux 初始化系统的两种方式,systemd 在现代设备上采用并发操作,开机时间更少,实际选哪个都可以。回车进入桌面系统。

进入 MX 桌面系统后,不用管出现的 Welcome 窗口,点击左下角的开始菜单 – MX Tools – Live USB Maker

这里需要设置的地方如下:

  1. 确认最上方的 Target Device,真的是你想要写入的 U 盘,而不要选错了设备,把其它 U 盘乃至本机硬盘覆盖!如果选中的设备超过 128GB,下一步会出现警告,再次确认有没有选错设备;
  2. 选择右边的 Full-featured mode,让 U 盘可写;
  3. 选择 Clone running live system,把当前系统写入新的 U 盘;
  4. (可选)不需要把整块 U 盘都当初外置系统。可以只使 U 盘的一部分,剩下的未分配空间,仍然当作普通的移动硬盘使用。大容量的移动硬盘,通常只用一小部分作为外置系统;而小容量的 U 盘,也建议留出几个 GB 的空间,用来和其它系统互相传输数据,非常方便。
    • 可以通过 Percent of USB device 设置,安装结束后处理未分配空间;
    • 也可以把 Percent of USB device 设置成 100%,点开 Show advanced options,在下方的 Make separate data partition 里,留出普通移动硬盘分区的大小,并且格式化成需要的格式(exfat、NTFS…)
  5. (可选)可以把整个系统分区加密,其它人拿到这个 U 盘,也无法读取里面的系统数据,适合更隐密的场合。这里加密的只是系统分区,第 4 步里留出来的空间,并没有加密。

点击下一步,会出现警告,U 盘上所有数据会被删除。然后按提示输入密码:demo

MX Linux 启动盘的默认用户密码:

  • 根用户 root / 密码 root
  • 普通用户 demo / 密码 demo

等待几分钟,安装结束。关机。

4. 准备进入新系统

用新的 U 盘启动电脑,然后又看到引导界面。(也可以从虚拟机启动 U 盘,但如果之前设置了加密系统,那么似乎 VirtualBox 无法启动)

这时可以去设置语言(只是最终进入桌面系统后的界面语言,本章下面的操作界面,仍然是英语)、时区、键盘布局,——注意,如果语言设置成中文,那么键盘会同时出现中文和英文,这只是键盘布局,而不是输入法,可以把中文键盘删掉。

然后,进入高级设置 Advanced Options

首先,是最重要的 Persistence option 持久化设置。用户可以选择把那些文件预先读入内存,访问速度更快,哪些文件放在 U 盘上,随用随读。通常来说,

  • / root 是除去 /home 外的所有系统文件,包括很多用户安装的软件
  • /home 是用户个人的所有数据、处理的工作文档、桌面设置、也有一些软件可以装在 /home 里

选择哪种 Persistence 方案,考虑的因素大致包括:

  • U 盘的读写速度。如果是普通 U 盘,那么基本都会把 root 读入内存;如果是高速 NVME 外置硬盘,也可以把系统文件留在硬盘上,速度没有读入内存快,但也能用了。
  • 内存容量。有没有足够内存,把 root 乃至 home 写入?如果长期使用 NVME 硬盘作为外置系统,装了很多软件,那么内存可能连 root 也装不下。
  • 是否有意外关机的可能?把文件预读入内存后,大概只有关机时才会从内存写回到 U 盘,虽然过程中也可以手动保存回 U 盘,但如果系统意外崩溃,或者突然断电,已经做的更改,可能无法保存。如果有这样的顾虑,还是尽量把文件保存在 U 盘上,比较稳妥。

这些 persist 选项,并不是一成不变的,每次开机,都可以根据实际情况,选择相应的 persist 策略(内存多大?是否要更改关键文件?):

  • persist_all,系统文件读入内存,用户数据文件放在盘上。通常推荐使用这样的设置,除非已经在 root 上装入了太多软件;
  • persist_root,系统文件和用户数据都读入内存,读写过慢的 U 盘,可以这样来提升效率;
  • persist_static,系统文件和用户数据都留在盘上,高速 NVME 硬盘,如果装了很多软件,可以这样用,速度比 persist_all 会慢一些;
  • p_static_root,文件都留在盘上,但 /home 和 root 放在一起,不专门分开;
  • persist_home,用户数据留在盘上,系统文件不保留,不能安装新软件;
  • 下面的 frugal 和相应的 persist 类似,但保存数据时进行压缩。会影响性能,除非磁盘空间很紧张,否则不建议使用。

设置了 Persistence option 后,返回上一层 Advanced Options,选择 Save Options – grubsave,让系统每次启动时使用预设的持久化选项 Persistence option(也可以每次启动时临时更改持久化策略)。

然后返回最上层,启动 MX Linux。

5. 初次进入系统

第一次进入 MX Linux,首先会在字符串界面,进行一系列的初始设定

  1. 如果之前用 Live USB Maker 时,选择了制作 Encrypt 加密盘,那么,首先会提示,设置整个系统盘的加密密码,连续两次输入相同的密码。然后,再次输入密码,打开加密的系统盘。——注意保存密码!遗忘了就彻底进不去系统了。这个密码进入系统后可以更改,下文会讲,修改过程还是有点繁琐的,所以建议新人在这里就直接设好。
  2. 按照提示,依次设置三个分区的大小,——具体选择什么数值,建议先阅读下一节的分区策略
    1. 系统分区 root,默认 8GB,最大 40GB
    2. 用户数据分区 /home,默认 10GB,最大 500GB,或者用掉剩余的全部空间
    3. 内存交换分区 swap,最大 10GB
  3. 设置新的 root 密码
  4. 设置新的 demo 用户密码
  5. 如果之前在持久化设置里,选择了把 root 或 /home 预读到内存,此时需要设置把内存数据写回 U 盘的方式(save-mode):(关机时)自动保存、手动保存、每次关机前询问。

然后就可以进入 MX Linux 系统,一直使用下去了!

6. 分区策略

普通 U 盘

普通的 U 盘,容量小,读写速度慢,大概只用来偶尔处理文档,不会装很多软件,也不需要使用 U 盘作为内存交换分区。以 64GB U 盘为例:

  • 预留 10% 的分区,大约 6~7 GB,和其它系统交换文件
  • root 分区,默认的 8GB 即可
  • /home 分区,选择剩余的所有空间
  • swap 分区,不需要

持久化设置,通常选择 persist_all,如果连 USB 3.0(U 盘和电脑都是蓝色的插口)都不是,那么建议选择 persist_root,也不要做太多用处了。

大容量 NVME 外置硬盘

容量通常在 256GB 以上,甚至高达 2TB,读写速度快,持久化设置可以使用 persist_static,把系统文件和用户数据都直接在硬盘上,释放更多的内存。内存交换空间 swap 也可以设成最高的 10GB。

如果计划长期使用的:

  • 划分多少作为系统盘,取决于你日常对 Linux 的使用有多么深入。一般用户 200~400GB 就够了,其它空间全都当成普通移动硬盘
  • root 分区,如果空间不紧张的话,直接设成最高的 40GB
  • /home 分区,这里需要计算一下,留出下一步 swap 分区的 10GB,剩下的作为 /home 分区
  • swap 分区,最高的 10GB

如果需要使用超过 550GB 作为外置系统,会出现一个问题,/home 分区的容量,最高可以选择 500GB,或者剩下的全部空间,但如果选择了全部空间,下一步就没办法设置 swap 了。这时候,可以在第一次启动时,持久化选择 p_static_root,让 root 和 /home 共用 40GB,并设置 swap 10GB,然后再次启动,把持久化改为 persist_static,就可以把剩余所有空间作为 /home 了。

7. 其它

修改加密系统盘的密码

进入 MX Linux 系统,打开 Terminal 终端。

首先,确认系统盘对应的设备名称。在终端输入 lsblk 命令,查看所有存储设备。按照本文安装的系统,大概都会如下图显示,被加密(crypt)的 liveb 设备的上一层,就是对应的设备名。通常是 sda3 或者 sdb3 之类。

在终端输入修改密码的命令,命令结尾的 sda3 就是刚刚看到的设备名:

sudo cryptsetup -v luksChangeKey /dev/sda3

然后根据提示,输入当前 demo 用户的密码,输入旧的磁盘密码,两次输入新密码,就改好了。然后最好立刻重启电脑。

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Your post must include a link to this post.

How does this work?
Write a response on your own website and include a link to this post. Then submit your response’s URL here. Your response may appear here after moderation. To update or remove it, edit or delete your original post and submit the same URL again. Learn more about Webmentions.