一台老 ThinkPad 的系统博物馆:Windows、Ubuntu、UOS、Kylin多系统共存方案

一、为什么给一台老电脑安装7个系统?

手里有一台比较老的笔记本------ThinkPad X250。

这台机器搭载第五代 Intel Core i5 处理器,虽然已经无法承担大型软件和复杂生产任务,但是 ThinkPad 优秀的键盘、可靠的做工,以及较好的 Linux 兼容性,让它依然是一台非常适合折腾的实验平台。

平时工作中接触 Windows、Linux 以及国产操作系统比较多,之前也曾经在笔记本上尝试过 Windows/Linux 双系统,以及黑苹果系统,Clover、OpenCore 等引导工具也都有体验。

这一次突发奇想:

既然性能已经不是优势,那不如把它改造成一个移动系统展示平台。

于是,我给这台 ThinkPad X250 安装了 Windows、Linux 以及国产操作系统,共计7个系统,让它成为一个随身携带的"系统博物馆"。


二、分区规划

考虑到兼容性、性能以及体验,我最终选择了以下系统:

第一块 SSD:512GB

用于安装 Windows 和 Ubuntu:

|------------------|------------|
| 系统 | 用途 |
| Windows 10 | 主要使用系统 |
| Windows 11 | 本体验新版系统 |
| Windows 7 | 经典系统收藏 |
| Windows 8.1 | 体验微软过渡版 |
| Data | 共享数据盘 |
| Ubuntu 24.04 LTS | 管理 Grub 引导 |

说明:

为了避免多系统之间相互影响,每个系统都有独立的系统分区。

同时,我额外创建了一个独立的 Data 数据分区,用于存放所有个人文件。

包括:

  • Desktop(桌面)
  • Downloads(下载)
  • Documents(文档)
  • Music(音乐)
  • Pictures(图片)
  • Videos(视频)

这样,无论进入哪个系统,都可以访问同一套个人资料。

例如:

Windows 修改用户目录位置;

Linux 使用软链接连接到 Data 分区。

最终实现:

多个系统,共享同一套个人文件。

第二块 SSD:128GB

用于安装国产操作系统:

|----------------|-----------|
| 系统 | 用途 |
| 统信 UOS V20 | 国产Linux体验 |
| 银河麒麟 Kylin V10 | 国产Linux体验 |



三、多系统引导管理

1. 使用GRUB统一管理七个系统

多系统最大的难点就是引导管理。

Windows 和 Linux 各自都有自己的启动方式,

但是 Windows 引导无法识别 Linux,

因此我选择使用 Ubuntu 的 GRUB 作为统一引导入口。

最终启动流程:

复制代码
开机
 ↓
GRUB菜单
 ↓
选择系统
 ↓
进入对应系统

不过默认情况下,GRUB每次都会进入第一个启动项。

为了实现:

记住我上一次启动的系统

需要修改配置文件。

编辑:

bash 复制代码
sudo vim /etc/default/grub

修改:

bash 复制代码
# 默认为0,代表引导第一个系统
GRUB_DEFAULT=saved

# 添加下面的参数,与上面的参数配合实现自动进入上次系统
GRUB_SAVEDEFAULT=true

可选调整参数:

复制代码
# 引导等待超时时间
GRUB_TIMEOUT=2

# 如果高分屏下引导字体过小,可以取消注释或者手动添加
GRUB_GFXMODE=640x480

更新配置:

复制代码
sudo update-grub

# Fedora等RedHat系使用下面的命令
grub2-mkconfig -o /boot/grub2/grub.cfg

这样以后选择一次系统,下一次开机 GRUB 会自动进入上一次使用的系统。



2. Windows多系统切换

由于4个 Windows 系统共用 Windows Boot Manager,因此进入 Windows 后,还需要继续选择具体版本。


Win+R 打开运行,输入 msconfig 进入系统配置。


在"引导"选项中:

选择需要进入的系统(以 Windows 7 为例)。

设为默认值,确定生效。

默认的超时等待时间是 30 秒,可以修改为 3 秒(系统要求的最低值)。


修改默认 Windows 以后,引导界面也会变成对应系统的样式。


需要注意的是:

Windows Boot Manager 虽然支持设置默认启动系统,但是不像 GRUB 一样方便记录上一次选择。

因此这里采用:

  • GRUB负责选择Windows;
  • Windows BCD负责选择具体Windows版本。

四、隐藏无关系统分区

多系统安装后,一个明显的问题就是:

打开"此电脑"或者Linux文件管理器,会看到大量其它系统分区。

例如:

  • Windows看到其它NTFS分区;
  • Linux看到所有ext4、NTFS分区。

为了保持界面整洁,需要隐藏无关分区。


1. Windows隐藏分区

Windows操作比较简单。

进入:

复制代码
此电脑
 ↓
管理
 ↓
磁盘管理
 ↓
更改驱动器号和路径
 ↓
删除盘符

删除盘符不会删除分区和数据,只是不让Windows资源管理器显示

按照此方法删除其它系统分区盘符即可。

最终效果:

  • C盘:当前Windows系统
  • D盘:Data共享数据盘

2. Linux隐藏分区

Linux使用 udev 规则隐藏。

首先查看分区UUID:

复制代码
lsblk -f

创建规则:

复制代码
sudo vim /etc/udev/rules.d/99-hide-partitions.rules

添加:

复制代码
SUBSYSTEM=="block", ENV{ID_FS_UUID}=="分区UUID", ENV{UDISKS_IGNORE}="1"

例如:

隐藏Windows分区:

复制代码
SUBSYSTEM=="block", ENV{ID_FS_UUID}=="F6C40D41C40D0619", ENV{UDISKS_IGNORE}="1"

重新加载:

复制代码
sudo udevadm control --reload-rules
sudo udevadm trigger --subsystem-match=block

需要注意:

这种方法只是隐藏桌面环境中的显示。

使用 lsblk 仍然可以查看所有磁盘。


五、Linux 挂载Data共享分区

由于Windows和Linux需要同时访问,因此Data分区采用NTFS格式,而不是Linux专用的ext4格式。

创建目录:

复制代码
sudo mkdir -p /mnt/Data

编辑:

复制代码
sudo vim /etc/fstab

添加:

复制代码
UUID=1BF9B55416AE72DD /mnt/Data ntfs-3g defaults,x-gvfs-show,uid=1000,gid=1000,fmask=0022,dmask=0022,windows_names 0 0

其中,参数 x-gvfs-show 的作用,

是为了让 Ubuntu 文件管理器显示该挂载目录。

UOS 和 Kylin 中不需要此参数。

需要安装NTFS支持:

复制代码
sudo apt install ntfs-3g

重新挂载:

复制代码
sudo mount -a


六、迁移用户目录,实现多系统共享数据

Windows设置

Windows支持直接修改用户文件夹位置。

例如:

右键:

复制代码
音乐
 ↓
属性
 ↓
位置

将路径地址的 C 改为 D。

其它目录全部采用同样方式。

Linux使用软链接

因为不同Linux桌面环境对于Desktop目录处理方式不同,如果直接链接到NTFS分区,可能出现桌面图标显示异常,因此这里只迁移其它个人目录。

删除原目录:

复制代码
rm -rf ~/Downloads ~/Documents ~/Music ~/Videos ~/Pictures

创建链接:

复制代码
ln -s /mnt/Data/Users/lwj/Downloads ~/Downloads

ln -s /mnt/Data/Users/lwj/Documents ~/Documents

ln -s /mnt/Data/Users/lwj/Music ~/Music

ln -s /mnt/Data/Users/lwj/Videos ~/Videos

ln -s /mnt/Data/Users/lwj/Pictures ~/Pictures

查看确认路径。

复制代码
vim ~/.config/user-dirs.dirs

在 home 目录下,可以看到软链接的文件夹会有一个箭头。


七、成果展示

经过一系列配置后,这台 ThinkPad 实现了:

✅ Windows 7 / 8.1 / 10 / 11 共存

✅ Ubuntu 24.04、统信UOS、银河麒麟Kylin 3 个 Linux 系统

✅ GRUB统一引导

✅ Windows/Linux共享Data数据盘

✅ 隐藏无关分区



相关推荐
Moshow郑锴1 小时前
qlik-cli - Get started with examples
服务器·windows·microsoft
WangWei_CM2 小时前
跨位数进程的映像、命令行与环境块读取
windows
夫唯不争,故无尤也2 小时前
Ubuntu阿里云服务器一键安装RustDesk指南
服务器·ubuntu·阿里云
手揽回忆怎么睡2 小时前
Ubuntu 22.04 64位安装MinIO
linux·前端·ubuntu
小白白36117 小时前
Pixelorama怎么用?像素画绘制和动画制作入门
windows
sukalot19 小时前
windows网络适配器驱动开发-WiFiCx Wi-Fi 7 功能要求(三)
windows·驱动开发
AnsonNie21 小时前
Ubuntu系统安装裕太微YT6801网卡驱动【笔记】
笔记·ubuntu
脚踏实地皮皮晨1 天前
003003001_Grid控件
开发语言·windows·算法·c#·visual studio
ziguo11221 天前
Windows API MessageBox 函数详解
c语言·c++·windows·visualstudio