2026/10/29 1:22:24

银河麒麟V10SP1重装:保留数据盘的分区与fstab挂载指南

银河麒麟V10SP1重装:保留数据盘的分区与fstab挂载指南 简介这份 PDF 文档围绕银河麒麟桌面操作系统 V10 SP1 在保留数据盘前提下重装系统展开面向具备一定 Linux 基础、希望升级或重装时不丢失个人数据的技术人员与高级用户。内容按操作顺序串联 liveCD 查看分区、创建同名用户、自定义分区时跳过 DATA 盘格式化以及安装后通过 blkid 获取 UUID、编辑 /etc/fstab、创建挂载目录并用 mount -a 校验最终重启确认数据可访问兼顾数据安全与系统稳定。文中还提示数据盘不格式化、用户名保持一致、fstab 配置检查等易错点便于按步骤对照执行和排查问题。文档结构清晰步骤与命令说明较完整尤其适合作为升级重装或数据盘迁移前的预演材料。资源包共 1 个 PDF 文件大小约 2.9MB适合离线保存与查阅。目前已有 1653 人学习可用于实操前流程梳理、命令对照及理解 Linux 分区、UUID 与开机自动挂载之间的关系。1. 重装前先想清楚数据盘不是备份格式化按钮一按就没了给银河麒麟桌面操作系统V10SP1做系统重装最容易被忽略的不是装不上而是装完发现数据盘还在、里面的东西却看不见了。我见过一台办公机/home 和几个项目目录全挂在第二块盘的 data 分区上系统崩了重装走默认全盘安装结果 DATA 盘图标还在点进去只剩 home、root 两个空壳目录桌面上原来的快捷方式一个不剩——数据其实没丢是文件系统挂载关系断了。更糟的是另一种自定义分区时手一抖把数据盘那一行也勾了格式化那就是真的没了谁也救不回来。这套流程适合手上有一块独立数据盘、重装时必须保住 /home 和 /root 内容的人。它不难但每一步都押在磁盘分区和挂载点这两个判断上错一步就是返工。2. 装前准备启动盘、liveCD 与分区账本2.1 做启动盘与两个启动入口的选择启动盘我用得最多的是 dd理由是它不挑环境Linux 下一条命令写完不用装额外工具。代价是没有二次确认写错设备名就是把自己的系统盘抹了所以第一步永远是先看清设备名。# 先列设备树靠容量和挂载点认出U盘别靠 sda/sdb 的直觉 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL # if 写镜像路径of 写U盘整盘设备不是分区别带数字后缀 sudo dd if/path/to/Kylin-Desktop-V10-SP1.iso of/dev/sdb bs4M statusprogress oflagsync # 落盘后强制同步一次拔出前确认没有残留缓存 syncbs4M是块大小太小慢、太大在某些U盘上反而掉速statusprogress让 dd 边写边报进度不然全程黑屏你不知道它死了没有oflagsync强制每次写完同步到设备写U盘这种场景比默认行为稳。最后那个sync不是多余的很多人 dd 完立刻拔盘做出来的启动盘起不来原因就在缓存没落盘。写完插到目标机器开机按启动菜单键。不同主板不一样常见的是 F12 或 F11 调一次性启动菜单F2 或 Del 进固件设置改启动顺序。进到安装介质菜单后有两个入口一个是 liveCD 试用模式一个是直接安装银河麒麟操作系统。这里我的建议很明确——只要你对旧机器的分区布局不是百分百记得就先走 liveCD。直接进安装器也能看分区但那个界面的信息是给配置挂载点用的粒度不如命令行而且一旦点快了容易往下走。2.2 在 liveCD 里把分区账本记下来进 liveCD 桌面后先别急着点安装。桌面上打开计算机能看到当前硬盘的分区结构这是图形化的一遍再在空白处右键打开终端跑命令这是精确的一遍。两遍对照着看账本就出来了。# -h 人类可读容量-T 显示文件系统类型看哪些分区已经挂上、挂在哪 df -hT # 树形列出所有块设备连带 FSTYPE、LABEL、UUID 一起出比 df 全 lsblk -f # 直接吐 UUID重装后写 fstab 要靠它 sudo blkid三个命令的分工要弄清。df -hT只看已挂载的输出里 Filesystem、Type、Size、Mounted on 四列最关键能一眼看出哪个分区挂在/、哪个挂在/home、有没有独立的/data。lsblk -f不受挂载状态限制没挂的分区也照样列出来还带 LABEL 和 UUID这是它比 df 强的地方。sudo blkid是给 fstab 用的最终数据源UUID 从这里抄不要从别处二手转抄。提示liveCD 自己也会挂载硬盘分区通常挂在/media/下面。所以 df 里看到的挂载点未必等于旧系统的真实挂载点别被/media/kylin/xxxx这类路径带偏真正的挂载关系要去问旧系统的/etc/fstab——如果它还能读的话。账本建议按下面这张表填手写拍照都行重装时照着它对设备容量文件系统卷标旧挂载点重装动作/dev/sda1512Mvfat无/boot/efi格式化挂 /boot/efi/dev/sda230Gext4无/格式化挂 //dev/sda38Gswap无swap格式化设为交换分区/dev/sdb1900Gext4DATA/data不格式化挂 /data2.3 三个必须先确认的参数容量、卷标、文件系统类型设备名是最不可靠的识别依据。/dev/sda和/dev/sdb谁是谁取决于固件枚举顺序、SATA 口位置、有没有插U盘同一台机器两次启动都可能变。所以我认盘只看三样容量对不对、卷标是不是那个、文件系统类型是不是我预期的。容量是硬指标900G 的分区不可能是 512M 的 efi 分区这个骗不了人。卷标次之数据盘一般会起个 DATA 之类的名字重装后系统自动挂载到/media/用户名/DATA就是靠这个卷标。文件系统类型最容易被忽略如果旧数据盘是 NTFS 或 exFATfstab 里就不能写 ext4得写ntfs-3g或exfat而且这类文件系统在 Linux 下的权限模型和 ext4 完全不同属主信息是靠挂载参数模拟的重装后经常会遇到文件在但改不了的情况。ext4 就省心得多这也是我建议数据盘一律用 ext4 的原因。UUID 放在最后确认因为它会随格式化而改变。重装前抄下来的 UUID只在这个分区不被格式化的前提下才有意义用来写进新系统的 fstab。一旦格了UUID 就重新生成得重新 blkid。3. 安装阶段的分区取舍哪些钩能打哪些不能打3.1 创建用户这一步为什么必须和旧系统同名安装器一路下一步到创建用户很多人随手填个新名字觉得反正是自己用。这一步恰恰是后面数据能不能读回来的关键。Linux 的文件属主记的是数字 UID不是用户名字符串。图形界面显示张三是因为系统把 UID 1000 翻译成了张三这个名字。数据盘上那些文件记录的是旧系统里那个用户的 UID通常是 1000。新系统创建的第一个用户UID 一般也是 1000所以哪怕你换个名字文件权限层面其实还能读写只是显示的名字变了。真正会翻车的是路径。用户主目录默认是/home/用户名旧数据盘里存的是/home/旧用户名。新系统如果叫另一个名字主目录就是/home/新用户名你后面做 bind 挂载的时候路径对不上桌面上那些指向旧路径的快捷方式也全部失效。加上桌面环境、浏览器配置、开发工具缓存很多都按用户名硬编码在路径里名字一改一堆东西要重新配。所以规则很简单用户名照抄旧的全小写字母开头别用大写和特殊字符。密码可以不一样但建议也保持一致省得自己混淆。主机名改不改无所谓不影响数据只影响终端提示符和一些网络配置。注意如果旧系统里那个用户的 UID 不是 1000比如后来手动建过用户把 1000 占了那新系统第一个用户拿到 1000 就对不上了。这种情况装完后需要手动 chown第 5 章会讲。3.2 手动分区格式化、挂载点与设备名的对应关系安装方式那一步有全盘安装和自定义安装两个选项要保留数据盘只能选自定义。全盘安装会重建分区表数据盘一并清掉连抢救的机会都没有。进到分区界面后会列出当前所有分区双击某一行进入编辑里面有格式化勾选框、挂载点下拉框、文件系统类型下拉框。动作对照是这样的分区勾选格式化文件系统挂载点说明/dev/sda1是vfat/fat32/boot/efiUEFI 启动必须300500M 够用/dev/sda2是ext4/根分区20G 起步装开发环境建议 50G/dev/sda3是swap无交换分区内存 8G 以下给等量以上给一半/dev/sdb1否ext4/data数据盘原样保留卷标和数据都在关于根分区大小装完系统本体大概占 10G 上下但开发机装 IDE、容器镜像、编译产物20G 很快就见底。我的习惯是根分区给 50G 以上剩下的空间反正都在数据盘上不缺。关于 efi 分区只有 UEFI 启动的机器需要老 BIOS 机器没有这个分区安装器也不会要求你配。判断方法很简单liveCD 里看一眼有没有/sys/firmware/efi目录有就是 UEFI。配错了装完起不来属于白干。数据盘那一行的处理是整篇文章的核心不勾格式化挂载点可以先设成/data也可以留空后面手动配。安装器对不格式化的分区只做挂载不动数据。这里有个容易误解的点——安装器在这一步设的挂载点只对安装过程生效装完重启后并不会自动写进/etc/fstab所以后面第 4 章还得手动配一次。这也是为什么装完首次进系统数据盘是被临时挂到/media/用户名/DATA而不是/data的原因。3.3 安装前的最后一次核对点下一步之前把分区表逐行念一遍容量对不对、格式化勾没勾、挂载点写没写错。这一步花三十秒能省掉后面几小时的返工。三个具体的检查点。第一数据盘那行格式化必须是空的鼠标移上去确认勾选框状态别看走眼。第二U盘本身也会出现在设备列表里容量通常是 8G、16G、32G别把它的分区当成目标盘格了。第三如果机器上有两块以上的硬盘设备名可能和你在 liveCD 里记的不一样靠容量和卷标重新认一遍别硬套/dev/sdb1。如果核对下来发现哪个分区拿不准别赌。退回去重新进 liveCD把lsblk -f再跑一遍账本补全了再装。系统重装这件事谨慎的成本远低于后悔的成本。4. 装完后的挂载配置UUID 加 fstab 才是长久之计4.1 先卸载自动挂载的 DATA 盘装完第一次进系统桌面上会出现文件系统和DATA两个图标。点开 DATA里面只有home、root两个空目录或者看起来是空的昨天还在桌面上的项目文件夹一个都不见了。先别慌这不是数据丢了。旧系统的工作方式是数据盘挂到/data然后再把/data/home和/data/root分别 bind 到/home和/root所以你平时在文件管理器里看到的/home/用户名/xxx物理上其实躺在数据盘的home/用户名/下面。重装之后这层 bind 关系没了新系统按卷标把数据盘临时挂到/media/用户名/DATA你打开看到的自然是数据盘的根目录——里面本来就是 home 和 root 两个子目录东西都在里面只是没映射回原位。要做的第一件事是把自动挂载卸掉。图形界面在 DATA 图标上右键选卸载或者命令行# 先看清当前挂载点别对着错误的路径卸载 findmnt | grep -i data # 卸载自动挂载的 DATA$USER 会展开成当前用户名 sudo umount /media/$USER/DATA不卸直接往下走等会儿mount -a会因为设备已被挂载而报错或者出现同一个分区挂两个位置的混乱状态。如果 umount 提示target is busy说明还有文件管理器窗口开着这个目录先关掉窗口再试实在不行用sudo fuser -vm /media/$USER/DATA看是谁占着。4.2 blkid 取 UUID 与 fstab 条目写法UUID 是分区格式化时生成的一串标识只要不重新格式化就不会变比设备名靠谱得多。取的时候直接跑 blkid把 UUID 后面引号里那一串完整抄下来。# 精确到分区输出里 UUID 后面引号内的内容就是你要的 sudo blkid /dev/sdb1 # 典型输出 # /dev/sdb1: LABELDATA UUID1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d TYPEext4 PARTUUID...抄 UUID 有个血泪经验一定从终端里选中复制别手打。32 位十六进制加 4 个连字符中间错一个字符挂载就失败而报错信息只会告诉你找不到这个 UUID不会告诉你错在哪一位。改 fstab 之前先备份这是后悔药# 带日期备份改坏了随时能滚回去 sudo cp /etc/fstab /etc/fstab.bak.$(date %F) # 麒麟桌面版自带 pluma 编辑器用 sudo 提权打开 sudo pluma /etc/fstab在文件末尾加一行# 设备 挂载点 类型 选项 dump fsck顺序 UUID1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d /data ext4 defaults 0 2六个字段逐个说清楚。第一列设备写UUIDxxx而不是/dev/sdb1理由前面讲过。第二列挂载点/data这个目录必须真实存在不存在挂载会失败。第三列文件系统类型ext4 就写 ext4写错会报 wrong fs type。第四列挂载选项defaults包含 rw、suid、dev、exec、auto、nouser、async 这一套日常够用如果希望开机不自动挂比如移动硬盘把 auto 改成 noauto。第五列 dump 备份标志现在基本没人用 dump写 0。第六列 fsck 检查顺序根分区是 1其他分区写 2不需要检查写 0数据盘容量大的话写 0 能省一点开机时间。字段之间用空格或 Tab 分隔都行但不能用中文全角空格这是复制粘贴最容易带进来的隐形错误。4.3 建目录、mount -a 与自检挂载点目录要先建出来。原文里建的是/data/root和/data/home那是为了 bind 做准备/data本身如果不存在也得建。# -p 递归创建已存在不报错 sudo mkdir -p /data /data/home /data/root # 按 fstab 挂载所有 auto 项无输出代表全部成功 sudo mount -a # 验证能看到 /data 挂上了对应的设备和文件系统类型 findmnt /data df -hT | grep -E data|homemount -a这个命令的设计很实用它读一遍 fstab把所有非 noauto 的条目挂一遍成功不吭声失败才输出。所以判断标准就一句——没有输出就是对的。如果冒出mount: /data: cant find UUID...或者wrong fs type, bad option, bad superblock说明 fstab 那行有问题回头核对 UUID 和文件系统类型别急着重启。这里必须强调mount -a是重启前的最后一道闸门。很多人改完 fstab 直接 reboot结果卡在开机阶段进不去系统只能拿 liveCD 救。养成习惯改完先mount -a通过了再重启。4.4 让 /home 和 /root 落回数据盘到 4.3 为止数据盘挂上了/datals /data/home能看到旧文件了。但桌面上的东西还没回来因为系统读的还是本地/home/用户名不是/data/home/用户名。要把这层关系接回去用 bind 挂载。# 确认数据盘里的目录结构旧用户目录应该在这里 ls -ln /data/home ls -ln /data/root在 fstab 里/data那行下面追加两行# /data 必须先挂载成功bind 才有意义所以顺序不能颠倒 /data/home /home none bind 0 0 /data/root /root none bind 0 0bind 挂载的意思是把源目录原样映射到目标路径不走文件系统驱动本质上是同一个 inode 树的两次视图。所以源和目标必须在同一个文件系统上倒不是硬性要求但目标路径原有的内容会被遮住——这就是为什么执行之前要确认/data/home/用户名确实存在否则/home下面会变成空的连登录都成问题。none那一列是文件系统类型bind 挂载不指定具体类型写 none 就行。第五、六列同样写 0 0bind 不涉及 fsck。不是所有人都需要这一步。如果旧系统的/home本来就在系统盘上数据盘只存项目文件那 4.3 做完就够了别画蛇添足。判断依据还是 liveCD 里记的那张账本/home那一行的设备是系统盘还是数据盘。5. 排查与避坑重装后数据盘不正常的五种真相5.1 现象DATA 盘能打开但里面只有 home、root 两个空目录原因不复杂是理解错位。数据盘的根目录从来就长这样旧系统通过 bind 把home和root映射到了/home、/root你在文件管理器里逛的/home/用户名其实是数据盘里的二级目录。重装后 bind 关系断了新系统直接展示数据盘根目录看起来就像被清空了。数据一直在du -sh /data/home/*跑一下就有数。解决就是走完 4.3 和 4.4挂/data补 bind重启。如果暂时不想动 fstab也可以临时手动挂一次看看东西在不在sudo mount /dev/sdb1 /mnt ls /mnt/home。5.2 现象/data/home 下的文件属主显示成一串数字普通用户改不了原因是 UID 对不上。旧系统那个用户的 UID 可能是 1000也可能因为历史原因变成了 1001而新系统创建的第一个用户固定从 1000 开始。一旦对不上文件名就翻译不出来显示成数字权限判定也按数字 UID 走结果就是文件在那儿但我没权限。解决分两种。装之前发现的重装时用户名保持一致基本就避开了。已经装完的先确认新用户的 UID# 看新用户的 UID/GID输出里 uid1000 这种 id 用户名 # 确认无误后把数据盘里旧用户目录的属主改成新 UID sudo chown -R 1000:1000 /data/home/旧用户名-R递归两个数字分别是 UID 和 GID。这一步有风险chown 之前先ls -ln看清当前属主改错了会把系统文件的权限搞乱所以路径一定要精确到用户目录不要图省事对整个/data执行。5.3 现象手滑把数据盘勾了格式化装完发现文件全没了原因就一个靠设备名认盘。/dev/sdb1这个编号在重装前后完全可能指到不同的物理分区你以为在格系统盘实际格的是数据盘。这类事故没有技术手段能完全挽回格式化写入的新数据会覆盖旧数据块。真发生了第一件事是立刻停手不要再往那块盘写任何东西包括不要重装、不要往里拷文件。然后用 liveCD 启动用 photorec、testdisk 这类工具扫描未分配空间尝试恢复能捞回多少看覆盖程度。但说实话成功率不高。真正的后悔药是装之前把关键文件复制到另一块物理盘或者外部存储上数据盘不等于备份盘这个区别值得写张便签贴显示器上。5.4 现象mount -a 报 cant find UUID 或 wrong fs type前者是 UUID 抄错了后者是文件系统类型写错了还有一种隐蔽情况是 fstab 里混进了中文全角空格或者不可见字符。排查顺序先sudo blkid /dev/sdb1重新取一次 UUID逐字符比对 fstab 里那行再确认第三列写的是不是ext4如果数据盘实际是 xfs 就得写 xfs用lsblk -f看 FSTYPE 列最后用cat -A /etc/fstab看行尾有没有奇怪的^I之外的控制字符正常应该是$结尾。改完再跑mount -a没输出就过了。5.5 现象改完 fstab 重启卡在紧急模式或黑屏光标这是最典型的一次翻车。fstab 里有挂不上的条目systemd 在启动阶段等挂载超时直接把你丢进 emergency mode连图形界面都进不去。救法有两条。能进 emergency shell 的输入 root 密码先mount -o remount,rw /把根分区改成可写然后vi /etc/fstab把新加的那行注释掉reboot。进不去 shell 的用 liveCD 启动手动挂载根分区到/mnt编辑/mnt/etc/fstab卸载后重启。避免方法前面说过这里再钉一遍改之前cp备份改完mount -a验证通过了才重启。我吃过一次亏之后fstab 相关操作一律按这三步走没再出过事。6. 装完怎么验证重启两次才算真跑通mount -a没有输出只说明当前这次挂载成功了不代表重启后还能挂上。真正的验证要跨过一次重启而且得验两遍。第一遍在改完 fstab、执行完mount -a之后当场验# 看挂载点和来源设备对不对得上 findmnt /data findmnt /home # 看文件系统类型、容量、使用率是否合理 df -hT | grep -E data|home # 看属主确认不是一串看不懂的数字 ls -ln /data/home # 写入测试能建文件、属主正确才算权限通 touch /data/home/用户名/verify_test.txt ls -l /data/home/用户名/verify_test.txt第二遍重启之后把上面这套再跑一遍。之所以要两次是因为 fstab 的坑有一半藏在开机顺序里——比如/data/home的 bind 写在/data前面手动mount -a时/data可能已经挂着了所以看不出问题重启后就暴露。桌面上的数据盘图标也是重启后才会按新挂载点重新生成。几个验证点的期望值对照着看验证项命令期望结果挂载来源findmnt /dataSOURCE 是数据盘分区FSTYPE 是 ext4容量df -hT | grep data大小接近数据盘实际容量不是几十 G属主ls -ln /data/home显示 uid1000 这类数字不是问号或异常值读写touch 测试文件创建成功属主是当前用户桌面文件管理器能看到数据盘入口点进去有原文件还有一个容易被忽略的点桌面上的文件快捷方式。如果旧系统把文件摆在桌面上那些.desktop或者普通文件的链接路径是按旧/home/用户名/桌面写的bind 挂载恢复之后它们会自动重新出现不需要重建。如果没出现去/data/home/用户名/桌面里看看物理文件在不在在的话手动拷回桌面一次即可。那次在一台跑着模拟项目X的机器上重装我就是图省事改完 fstab 直接重启结果 bind 那两行顺序写反开机落在 emergency mode蹲在机房里拿手机查命令。从那以后我每次动 fstab都是先cp备份、再mount -a、最后重启后完整跑一遍上面这套验证一步不省。数据盘保得住靠的不是运气是这几条命令跑没跑。希望帮到你。本文还有配套的精品资源点击获取