简介:这份PDF文档面向具备一定Linux操作基础的技术人员与高级用户,聚焦银河麒麟桌面操作系统V10SP1在保留“数据盘”前提下的系统重装场景,解决重装过程中数据丢失与分区挂载失效的痛点。资源包共1个PDF文件,大小约2.9MB,内容围绕磁盘分区识别、UUID获取、fstab挂载配置等关键环节展开,涵盖从liveCD模式查看分区信息、自定义安装时避免格式化数据盘,到重装后通过命令行编辑/etc/fstab并创建挂载目录、验证挂载结果的完整流程。目前已有1626人学习下载,适合需要在升级或重装系统时保护个人数据、同时希望掌握Linux分区与自动挂载技能的用户参考,可帮助读者理解各命令作用,降低误操作风险,提升系统维护效率。
1. 银河麒麟 V10 SP1 重装:为什么“数据盘”总是第一个被误伤
装过银河麒麟桌面操作系统 V10 SP1 的人,大多有过这种经历:系统盘出了毛病,想着重装一遍图个干净,结果安装器一路“下一步”点下去,进桌面一看,原来挂在/data或者/home的那块盘被重新分区了,几年的资料没了。问题不在麒麟本身,而在安装流程默认走的是“全盘自动分区”,它不会替你区分哪块是系统盘、哪块是数据盘。标题里说的“保留数据盘重装”,本质就是一件事:让安装器只动系统盘,数据盘的分区表和文件系统原封不动,装完再把挂载点接回去。这套做法适合运维、信创适配工程师,以及手上有第二块 SSD 或独立数据分区的普通用户。下面按“先分清盘、再手动分区、最后回挂”的顺序讲透,中间会用到lsblk、blkid、/etc/fstab这些绕不开的工具,也会说清自定义安装里挂载点到底怎么填。
2. 重装前必须搞清的三件事:盘、分区表、挂载点
动手之前如果连哪块盘是系统盘都没确认,后面全是玄学。这一章先把判断依据和备份动作做扎实,再谈安装器里的操作。
2.1 用 lsblk 和 blkid 认清系统盘与数据盘
在还能进系统的麒麟 V10 SP1 上打开终端,先跑这两条命令。它们不会改任何东西,只是把磁盘拓扑和 UUID 读出来。
# 查看块设备树状结构,重点看 disk 与 part 的从属关系 lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,LABEL # 查看每个分区的 UUID 和文件系统类型,UUID 是后面 fstab 要用的 sudo blkidlsblk输出里,disk行是物理盘(如sda、nvme0n1),缩进在下面的part是它上面的分区。看MOUNTPOINT列:挂着/、/boot、/boot/efi的那块盘就是系统盘;挂着/data、/home或者干脆没挂载但容量很大的,通常是数据盘。blkid给出每个分区的UUID,这是文件系统的唯一标识,比/dev/sdb1这种设备名可靠得多——设备名会随插拔顺序变,UUID 不会。
判断清楚后,把数据盘的关键信息抄下来:设备名、UUID、文件系统类型(ext4 / xfs)、原来的挂载点。这三样是重装后能不能原样接回去的关键。我一般会直接存一份到手机备忘录,因为重装过程中系统进不去,查不了。
提示:如果数据盘和系统盘是同一块物理盘上的不同分区,保留数据盘的难度会高很多,因为安装器分区时容易误删相邻分区。这种情况建议先把数据盘内容拷到外置硬盘,再考虑重装。
2.2 数据盘要不要先卸载、备份到什么程度
确认盘之后,做一次针对性备份。不是让你把整个数据盘复制一遍,而是把“丢了会疼”的部分单独拎出来:数据库目录、配置文件、证书、代码仓库里没 push 的分支。用rsync同步到外置盘或网络存储:
# 把数据盘挂载点同步到外置盘,-a 保留权限属性,-v 显示进度,--delete 让目标与源一致 rsync -av --delete /data/ /media/backup/data/参数说明:-a等于-rlptgoD,保留符号链接、权限、时间戳等;--delete会删掉目标端多余的文件,让备份和目标完全一致,第一次用要确认路径没写反。备份完顺手umount /data把数据盘卸载,避免安装器扫描时把它当成可操作对象。
这里有个容易忽略的点:银河麒麟 V10 SP1 默认可能启用了磁盘加密或 LVM。如果lsblk里看到crypt或lvm类型的层,数据盘很可能是 LUKS 加密卷或逻辑卷。加密卷重装后需要重新解锁才能挂载,逻辑卷则要确认卷组名没被安装器覆盖。这两种情况在自定义分区界面里表现不一样,下一章会分别说。
2.3 自定义安装里“挂载点”到底填什么
很多人卡在安装器的分区界面,是因为不知道“挂载点”这一栏该填/还是/data。规则其实很简单:挂载点是这个分区在系统里的“入口路径”。系统盘的分区填/、/boot、/boot/efi;数据盘的分区填你原来用的路径,比如/data或/home。
关键动作是:在分区界面里,只对系统盘执行删除和新建,数据盘的分区要选中后点“编辑”,把“格式化”勾选去掉,挂载点填回原来的路径。如果安装器不允许对已有分区直接设挂载点,就先记下它的设备名,装完系统再手动写/etc/fstab。这一步的判断依据就是 2.1 里抄下来的 UUID 和挂载点,填错一个字符,轻则挂不上,重则安装器把数据盘当空闲空间处理。
3. 手动分区实操:只动系统盘,数据盘原样保留
这一章是核心操作。银河麒麟 V10 SP1 的安装器基于 Anaconda 改的,分区界面逻辑和主流 Linux 发行版接近,但中文措辞和默认选项有自己的脾气。下面按界面顺序走一遍。
3.1 进入安装器的分区界面并选“手动分区”
用制作好的启动 U 盘引导,走到“安装类型”或“安装位置”这一步时,不要选“自动分区”或“清除整个磁盘”。选“手动分区”或“自定义分区”,进入分区表编辑界面。此时安装器会列出所有检测到的磁盘和分区,包括你的数据盘。
先做一件事:在列表里找到数据盘对应的分区,确认它的“格式化”状态是未勾选。如果安装器默认勾了“格式化”,手动取消。然后找到系统盘,把上面的旧分区逐个删除——注意只删系统盘上的,删之前再核对一遍设备名,sda和sdb看错一位就是灾难。
删除系统盘分区后,在空闲空间上新建。UEFI 启动的机器至少需要三个分区:
| 挂载点 | 建议大小 | 文件系统 | 说明 |
|---|---|---|---|
| /boot/efi | 300–500 MB | EFI System Partition | UEFI 启动必需,不要格式化数据盘上的同名分区 |
| /boot | 1–2 GB | ext4 | 内核和引导文件,独立出来便于排错 |
| / | 剩余空间 | ext4 或 xfs | 根分区,银河麒麟默认 ext4 兼容性更好 |
如果机器是传统 BIOS 启动,则不需要/boot/efi,但要有/boot和/。分区大小不用抠太死,/给 50 GB 以上比较稳妥,剩下空间可以再分一个/home或直接并入/。
3.2 数据盘分区在安装器里的正确设置
数据盘分区在列表里通常显示为“未知”或已有文件系统类型。选中它,点“编辑”或“更改”。在弹出的对话框里:
- 挂载点填回原来的路径,比如
/data; - 文件系统类型保持原样,不要改成别的;
- 最重要的一步:取消勾选“格式化此分区”或“重新创建文件系统”。
如果安装器没有“编辑已有分区挂载点”的选项,就跳过,让它保持未挂载状态。装完系统后手动挂载,效果一样,而且更可控。有些版本的安装器在自定义分区界面会对非系统盘分区显示“将保留”或“将删除”的标记,务必确认数据盘分区标记是“保留”。
注意:如果数据盘是 LUKS 加密卷,安装器可能识别为
crypt类型且无法直接设挂载点。这种情况不要强行操作,装完系统后用cryptsetup luksOpen解锁再挂载,具体命令在 4.2 里给。
分区方案确认后,安装器会弹出“将要执行以下操作”的摘要。这是最后一道后悔药:逐行核对,确认“格式化”列表里只有系统盘分区,数据盘分区只出现在“挂载”或“保留”列表里。确认无误再点“开始安装”。
3.3 安装过程中的观察点与中断处理
安装开始后,进度条走到“正在创建文件系统”和“正在安装引导程序”时最容易出问题。如果卡在创建文件系统超过十分钟,可能是数据盘分区被误判为需要格式化,或者磁盘有坏道。此时不要强行断电,先看安装器下方的日志窗口(如果有),找sda、sdb相关的报错行。
如果确认数据盘被误操作,唯一能救的是提前做的备份。这也是为什么 2.2 的rsync不能省。安装完成后第一次重启,拔掉 U 盘,让系统从硬盘引导。如果引导失败,用启动 U 盘进救援模式,检查/boot/efi和/boot是否完整。
安装器里还有一个细节:银河麒麟 V10 SP1 某些版本会在安装末尾询问是否“保留用户数据”或“迁移旧配置”,这个选项和保留数据盘是两回事,它指的是系统盘上旧/home的内容。如果系统盘已经删干净,这个选项不会出现,不用纠结。
4. 装完系统后把数据盘接回去:fstab 与权限修复
系统装好能进桌面,只完成了一半。数据盘现在还在,但系统不认识它。这一章把挂载和权限收尾,让数据盘回到重装前的状态。
4.1 用 UUID 写 fstab 并验证挂载
先确认数据盘分区还在,并且文件系统没坏:
# 查看所有分区,确认数据盘分区存在且 FSTYPE 正常 lsblk -f # 对数据盘分区做只读检查,ext4 用 e2fsck,xfs 用 xfs_repair -n sudo e2fsck -n /dev/sdb1lsblk -f会显示每个分区的 UUID、文件系统类型和挂载点。如果数据盘分区的FSTYPE是空的或显示crypto_LUKS,说明文件系统没被识别,先别急着挂载。e2fsck -n是只读检查,-n表示对所有询问回答 no,不会改数据,用来确认文件系统没损坏。
确认无误后,编辑/etc/fstab:
# 先备份 fstab,改错了还能救 sudo cp /etc/fstab /etc/fstab.bak # 用 UUID 追加数据盘挂载项,UUID 换成 blkid 查到的实际值 echo 'UUID=你的数据盘UUID /data ext4 defaults,noatime 0 2' | sudo tee -a /etc/fstab # 不重启验证 fstab 是否正确,-a 挂载所有未挂载项,--verbose 显示过程 sudo mount -a --verbose参数说明:defaults包含rw,suid,dev,exec,auto,nouser,async;noatime表示不记录文件访问时间,能减少写入、延长 SSD 寿命;第一个0是 dump 备份标志,桌面场景用不到;第二个2是 fsck 检查顺序,非根分区用 2。mount -a如果没报错,说明 fstab 写对了,数据盘已经挂到/data。
4.2 加密数据盘与 LVM 数据盘的挂载差异
如果数据盘是 LUKS 加密卷,blkid会显示TYPE="crypto_LUKS"。这时不能直接写 fstab 挂载,要先解锁:
# 解锁 LUKS 加密卷,解锁后会生成 /dev/mapper/data_crypt sudo cryptsetup luksOpen /dev/sdb1 data_crypt # 查看解锁后的文件系统类型 lsblk -f /dev/mapper/data_crypt # 挂载解锁后的设备 sudo mount /dev/mapper/data_crypt /dataluksOpen的第二个参数data_crypt是映射名,可以自定义,但要和后续 fstab 里的/dev/mapper/data_crypt一致。如果希望开机自动解锁,需要配置/etc/crypttab,但桌面场景下每次手动输密码更安全,也避免忘记密码后系统卡在启动阶段——热词里“请解锁磁盘密码忘记了”就是这类翻车。
LVM 数据盘则用vgscan、lvscan确认卷组和逻辑卷是否还在:
sudo vgscan sudo lvscan sudo mount /dev/卷组名/逻辑卷名 /data如果vgscan找不到卷组,说明安装器可能覆盖了 LVM 元数据,这种情况只能从备份恢复,没有别的后悔药。
4.3 修复属主、属组和 SELinux 上下文
挂载成功后,ls -l /data可能显示文件属主是数字 UID 而不是用户名。这是因为重装后新系统的用户 UID 和旧系统不一致。修复方法是把数据盘上的文件属主改成当前用户:
# 查看当前用户的 UID 和 GID id # 递归修改数据盘属主,-R 递归,用户名和组名换成 id 命令查到的 sudo chown -R 用户名:组名 /data # 如果系统启用了 SELinux,恢复默认上下文 sudo restorecon -Rv /datachown -R对大量文件会慢,但桌面数据盘通常可以接受。restorecon只在 SELinux 为 enforcing 或 permissive 时需要,银河麒麟桌面版默认可能是 disabled,用getenforce确认。如果数据盘上有数据库或容器数据,属主修改要谨慎,最好按原 UID 新建用户而不是改文件属主。
5. 避坑与排查:重装保留数据盘最常见的五个翻车点
这一章按“现象 → 原因 → 解决”列五条,都是实际装机器时反复遇到的。
现象一:装完系统进桌面,数据盘分区消失,lsblk里只剩系统盘。原因:安装器分区界面里数据盘分区被标记为“删除”或“格式化”,或者数据盘和系统盘在同一块物理盘上,删除系统盘分区时把整盘分区表重建了。 解决:如果分区表刚被重建且没写入新数据,用testdisk尝试恢复分区表;如果已经写入,只能从 2.2 的备份恢复。预防办法是分区前逐行核对安装器摘要。
现象二:数据盘分区还在,但mount报wrong fs type或bad superblock。原因:文件系统类型判断错,比如把 xfs 当 ext4 挂;或者数据盘是 LUKS 加密卷,没解锁就直接挂。 解决:用blkid确认TYPE,ext4 用mount -t ext4,xfs 用mount -t xfs,crypto_LUKS先cryptsetup luksOpen。
现象三:fstab 写好后重启,系统卡在 emergency mode。原因:fstab 里 UUID 写错,或者数据盘没接上导致挂载失败,systemd 进入紧急模式。 解决:在 emergency mode 下输入 root 密码,mount -o remount,rw /重新挂载根分区为可写,然后编辑/etc/fstab注释掉出错行,重启后再排查。预防办法是写完 fstab 先mount -a验证,不要直接重启。
现象四:数据盘挂上了,但普通用户无法写入,提示权限不足。原因:重装后新用户 UID 与旧系统不同,文件属主变成数字 UID;或者挂载选项里带了ro。 解决:id查当前 UID,chown -R改属主;检查 fstab 挂载选项,确保没有ro,必要时加umask=000或uid=、gid=选项(仅限 FAT/NTFS 等不支持 Linux 权限的文件系统)。
现象五:数据盘是第二块 SSD,重装后lsblk能看到但blkid无输出。原因:分区表类型不被识别,比如 GPT 分区表损坏,或者 SSD 被做了 RAID 成员盘。 解决:用parted /dev/sdb print查看分区表,如果提示unrecognised disk label,说明分区表丢了,用testdisk恢复;如果是 RAID 成员,先在 BIOS 或mdadm里确认阵列状态。
提示:以上五条里,现象一和现象三造成的损失最大。前者丢数据,后者进不去系统。把 2.1 的信息抄下来、把 2.2 的备份做掉、把 4.1 的
mount -a跑一遍,这三步能挡掉八成翻车。
6. 把重装流程固化成可复用脚本与检查清单
每次重装都手动敲命令容易漏步骤,我后来把关键动作写成一个检查脚本,装完系统跑一遍,确认数据盘状态。脚本不复杂,但能省掉反复lsblk的功夫。
#!/bin/bash # check_data_disk.sh - 重装后数据盘状态检查 # 用法:sudo bash check_data_disk.sh /dev/sdb1 /data DISK=$1 MOUNT_POINT=$2 echo "=== 1. 分区是否存在 ===" lsblk -f "$DISK" || { echo "分区 $DISK 不存在"; exit 1; } echo "=== 2. 文件系统类型 ===" FSTYPE=$(blkid -s TYPE -o value "$DISK") echo "类型: $FSTYPE" echo "=== 3. 是否已挂载 ===" if mountpoint -q "$MOUNT_POINT"; then echo "$MOUNT_POINT 已挂载" df -h "$MOUNT_POINT" else echo "$MOUNT_POINT 未挂载,尝试挂载" mount "$DISK" "$MOUNT_POINT" && echo "挂载成功" || echo "挂载失败,检查 fstab 或文件系统" fi echo "=== 4. fstab 中的记录 ===" grep "$MOUNT_POINT" /etc/fstab || echo "fstab 中无 $MOUNT_POINT 记录"脚本逻辑:先确认分区存在,再读文件系统类型,然后判断挂载点是否已挂载,没挂就尝试挂载,最后检查 fstab 有没有对应记录。参数$1是数据盘分区设备名,$2是挂载点。跑之前用chmod +x加执行权限。这个脚本不能替代备份,但能在装完系统后快速判断数据盘是否处于预期状态。
除了脚本,我习惯在重装前把下面这张清单过一遍,每项打勾再动手:
| 检查项 | 命令或动作 | 确认 |
|---|---|---|
| 系统盘设备名 | lsblk看/所在盘 | |
| 数据盘设备名与 UUID | blkid抄下来 | |
| 数据盘文件系统类型 | ext4 / xfs / crypto_LUKS | |
| 数据盘原挂载点 | mount或findmnt | |
| 关键数据已备份 | rsync到外置盘 | |
| 安装器摘要已核对 | 只有系统盘被格式化 | |
装完mount -a无报错 | fstab 验证 | |
| 属主与权限已修复 | chown/restorecon |
这张清单我用了两年多,中间换过 SSD、换过文件系统,流程没变过。银河麒麟 V10 SP1 的安装器版本更新过几次,分区界面措辞有调整,但“只格式化系统盘、数据盘取消格式化、用 UUID 回挂”这三条一直有效。真正会让人翻车的,从来不是命令记不住,而是分区界面那几秒没核对清楚。希望帮到你。
本文还有配套的精品资源,点击获取