首页 / 资讯中心 / 文章详情

银河麒麟V10SP1 LiveCD模式:系统崩溃后的救援与恢复实战指南

银河麒麟V10SP1 LiveCD模式:系统崩溃后的救援与恢复实战指南 ★ FEATURED ARTICLE
简介银河麒麟桌面操作系统V10SP1华为9006C版本的LiveCD模式操作指南面向有一定计算机操作基础、熟悉Linux命令行与系统引导的技术人员解决在U盘启动环境下不安装系统即可体验或测试麒麟系统功能的需求。内容基于U盘启动盘重点介绍通过字符终端登录kylin账号、配置密码、查询并终止start-installer安装进程再切换至“UKUI on Wayland”会话进入图形化LiveCD环境的完整路径步骤清晰且配有界面提示与异常处理说明便于实战跟随和排错。资源包以单个PDF文件封装大小仅245KB轻量便携可直接作为现场操作参考或培训手册。该指南目前已有2500余人学习浏览适合麒麟系统评估、开发环境预检及运维排障场景尤其适用于华为9006C硬件平台快速构建临时测试环境读者按指南操作可实现不落盘启动系统节省系统安装时间并规避数据覆盖风险。1. 银河麒麟V10SP1华为9006C版本的LiveCD模式系统起不来时最该先试的后悔药接触国产化替代项目的运维迟早会遇到这么一天某台搭载华为9006C平台的工作站更新完内核补丁或者误改了fstab重启后直接卡在麒麟Logo转圈或者进系统后硬盘分区异常数据眼看要出事。这时候第一反应往往是重装系统但重装之前其实有一味更轻的后悔药——用银河麒麟桌面操作系统V10SP1华为9006C版本的安装镜像进入LiveCD模式。LiveCD模式的意义在于它不碰硬盘上的现有系统而是把整个操作系统临时跑在内存里。你拿到的是一个能上网、能挂载磁盘、能改文件、能重装引导的“救援环境”系统崩溃、root密码遗失、GRUB引导损坏这类问题百分之八十都能在这个模式下原地解决不用重装不用丢数据。本文就是把这张PDF里的操作路径拆细从LiveCD是什么、为什么华为9006C版本有特殊之处到启动介质怎么做、GRUB菜单怎么选、进去以后先干什么最后给你几条实打实的踩坑记录。新手照着走熟手看参数和边界。2. LiveCD模式原理与华为9006C版本的镜像差异为什么它和普通U盘启动不一样2.1 所谓“进入LiveCD模式”到底发生在系统启动的哪个阶段银河麒麟桌面操作系统V10SP1用的是GRUB 2作为引导加载程序。正常开机时GRUB读取/boot/grub/grub.cfg把硬盘上的内核和initrd加载起来然后切到真正的系统。而LiveCD模式的本质是把这一套加载路径改成“从外部介质读取内核和initrd然后把整个系统解压到内存文件系统tmpfs里运行”也就是说GRUB这一步还在只是它引导的目标从硬盘换成了光盘或U盘上的squashfs镜像。从启动时序来看整条链路是固件华为9006C平台上是BIOS或UEFI自检 → 读取启动介质 → 加载GRUB → GRUB读取Live镜像里的内核和initrd → initrd挂载squashfs并解压 → systemd接管 → 进入临时桌面。理解这个时序很重要因为后续所有排错都落在“到底是哪一步没走通”上固件键按没按对、U盘有没有被识别成启动设备、GRUB菜单选的是不是Live子项、内核有没有报panic。为什么华为9006C版本会被单独拿出来说原因在于这个版本的内核针对鲲鹏平台做了定制。它和x86_64的通用镜像差异不在桌面组件而在内核模块和固件接口华为9006C版本用的是ARM体系的ACPI和SBSA规范某些在x86镜像里常见的pcie_port驱动行为在这里不适用Live模式下加载的模块集合也不同。这带来的直接结果是你拿一个x86的Ubuntu Live盘插上来键盘鼠标可能不动但你拿一个普通麒麟V10的Live盘插上来又可能因为内核里没有适配9006C平台的设备树或ACPI表导致网络或显卡起不来。2.2 华为9006C版本的Live环境里和普通版本差在哪几个关键点第一内核版本与模块层。华为9006C版本的镜像内核对鲲鹏920系列处理器的拓扑做了优化SMP启动、CPU调频、ACPI电源管理这些都在内核配置里单独开过。普通麒麟V10通用镜像的内核虽然也能在这个平台跑但Live环境下可能出现铂金级别的问题比如ACPI表解析告警但不致命或者nvme硬盘在Live环境里不识别因为内核里NVMe的quirk补丁只打在定制内核上。第二固件接口差异。华为9006C平台用的是BIOS模式而非UEFI模式这个区分直接决定启动介质的格式。BIOS模式下GRUB需要读取MBR或某个分区上的grub.cfgU盘格式化成FAT32且分区表类型是MBR时最省事如果镜像里默认的EFI引导路径在这个平台上找不到设备系统会直接跳过U盘启动回到硬盘启动。第三显示和输入设备。9006C平台常见的是板载显示芯片Live环境里如果没有对应驱动分辨率会锁死在低分辨率甚至黑屏。常规做法是启动时在GRUB菜单按E键在内核命令行加nomodeset这个在普通x86平台上加不加无伤大雅在9006C平台上则往往是能不能看见桌面的关键参数。我一般会建议不要用维护工具去依赖“图形化安装界面能出来”先把Live系统能不能起来、键盘能不能动、硬盘能不能挂这三件事确认掉。这三件事不通后面所有救援操作都无从谈起。这也是为什么在本地的模拟项目X里我们把LiveCD模式单独做成一条测试用例而不是和硬盘安装混在一起。3. 制作启动介质与基础环境准备一张能救命的U盘应该怎么做3.1 镜像文件校验与U盘格式化实操拿到银河麒麟桌面操作系统V10SP1华为9006C版本的ISO文件之后第一步不是急着写入。先做校验确认文件完整这一步能帮你规避掉“解压到一半报错”这类玄学问题。ISO文件通常附带sha256校验值在Linux或Windows下都能算命令如下。# 在Linux下校验ISO完整性 sha256sum Kylin-Desktop-V10SP1-9006C.iso # 和官方提供的sha256值比对一致才继续 # 在Windows下用certutil certutil -hashfile Kylin-Desktop-V10SP1-9006C.iso SHA256参数说明sha256sum输出的哈希值需要和下载页面标注的逐字符比对不要只看前几位。校验通过后准备U盘容量建议不小于16GB因为Live系统加工具集解压出来大约需要4到6GB空间U盘太小会写入失败。U盘不需要格式化因为写入工具会重写全盘但你要知道这一步会清空U盘上所有旧数据做之前确认没有重要文件。U盘格式化的常见误区是有人先用Windows把U盘格式化成NTFS再用写入工具写ISO。NTFS在BIOS模式下的兼容性并不好建议直接交给写入工具处理工具会自动建立FAT32启动分区。如果坚持手动准备用MBR分区表加FAT32格式是最稳妥的。3.2 用dd命令写入U盘与跨平台替代方案在Linux环境里写入最直接的方式是dd命令只有一行但参数要写对写错设备名会把你整块硬盘清掉。# 确认U盘设备名不要凭记忆 lsblk -o NAME,SIZE,MODEL,TRAN # 假设U盘是/dev/sdb写入镜像 sudo dd ifKylin-Desktop-V10SP1-9006C.iso of/dev/sdb bs4M statusprogress convfsync参数说明if指定ISO路径of指定U盘设备文件注意是/dev/sdb不是/dev/sdb1写到分区上是启动不了的。bs4M是单次读写块大小这个值对速度影响不大但太小会慢太大在某些U盘上会报参数错误。convfsync保证数据落盘后才返回防止拔U盘时缓存没写完。写入完成后你会看到分区表被替换U盘在系统里显示为包含live分区和EFI分区的混合结构。如果你手上只有Windows机器官方建议的替代工具是rufus或balenaEtcher选择“以DD镜像模式写入”而不是“以ISO镜像模式写入”。这一点非常关键ISO镜像模式下rufus会把镜像内部文件解包后逐个复制这和dd的扇区级写入结果不同在某些BIOS上会导致启动项异常。华为9006C平台在BIOS模式下对U盘格式敏感DD镜像模式是最贴近光盘物理扇区布局的方式兼容性最好。写完以后验证写入是否成功看U盘分区结构是否包含一个大小约4GB的只读分区。具体命令如下。# 验证U盘分区结构出现squashfs字样说明镜像内容已写入 sudo blkid /dev/sdb* # 输出中应该能看到包含iso9660或vfat类型的分区注意如果blkid什么都查不到先重新插拔U盘再试。有时候内核没有重新扫描分区表并非写入失败。这一步做完启动介质就绪下一步就是把它插到华为9006C平台上进入固件启动菜单。4. 进入LiveCD模式全流程从固件按键到GRUB菜单再到桌面环境4.1 华为9006C平台启动项选择BIOS模式下U盘设备名怎么认华为9006C平台开机自检时按F11键可以进入启动菜单按Del键进入BIOS设置界面。需要注意的是F11启动菜单里的设备列表是动态生成的U盘通常显示为“USB Drive”或“UEFI: USB Device”但如果你用的是BIOS模式U盘会显示成设备型号加容量比如“Kingston 16GB”。这个列表里如果同时存在硬盘和U盘选错的风险不大因为硬盘设备名通常是“SATA SSD”或“NVMe SSD”和USB字样区分明显。有一个容易翻车的细节插着U盘开机时某些BIOS固件版本会把U盘识别为第一启动项但固件自检阶段U盘枚举失败启动菜单里就是不出现U盘。这种情况常见于前置USB口供电不稳的机箱。我的习惯是优先插后置USB口最好是主板原生USB口不要插在通过排线转接的前置面板口上。如果后置口也识别不到换一个USB 2.0口试试因为9006C平台某些固件对USB 3.0启动设备的兼容性不如USB 2.0。完成启动项选择后系统进入GRUB引导菜单。银河麒麟V10SP1的Live介质GRUB菜单通常包含两个主选项一个是“Install Kylin Linux”硬盘安装入口另一个是“Kylin Linux (Live mode)”或类似表述的Live入口。这里不要选错选成Install会进入安装程序而不是Live环境。确认方法菜单里Live选项通常带有“Live”或“Try”字样不同版本措辞略有差异。4.2 进入Live模式前后需要现场调整的内核参数默认Live模式直接回车就能进但在华为9006C平台上我建议你第一次进入时先按E键编辑内核启动参数。这样做的原因有两个一是如果显卡驱动不兼容加nomodeset能避免黑屏二是如果内核启动时ACPI报错导致挂起加acpioff能绕过但acpioff这个参数在9006C平台上会导致CPU只识别到单核所以只在确认是ACPI问题时临时使用不作为常驻参数。典型的GRUB菜单编辑完成后命令行里会出现类似这样的内容手动追加参数示例如下。# 按E键后在linux行末尾追加参数然后按CtrlX启动 linux /live/vmlinuz ... quiet splash nomodeset # 追加后该行变为 linux /live/vmlinuz ... quiet splash nomodeset参数说明quiet表示减少内核输出splash表示显示启动画面这两个参数在救援场景下可以去掉改为不追加这样内核日志会滚动输出到屏幕上方便观察卡在哪一步。nomodeset让内核不切换显示驱动模式直接使用基本framebuffer对9006C平台板载显示芯片的兼容性提升显著。如果加入这些参数后正常进入桌面说明问题出在显驱或平台固件交互上不影响后续救援操作。启动过程分两个阶段第一阶段是内核和initrd加载屏幕上有进度条或日志滚动第二阶段是squashfs解压到内存这个阶段从按下启动到进入桌面大约需要1到3分钟取决于U盘读取速度和内存大小。内存建议不小于8GB因为Live系统驻留内存后可用空间等于物理内存减去系统自身占用。如果你看到启动日志停在某个内核模块加载上超过两分钟大概率是固件接口兼容问题而不是死机。4.3 进入桌面后的第一步检查确认关键设备是否可用进入Live桌面后不要急着挂载硬盘先做三个快检键盘鼠标是否响应网络接口是否识别硬盘设备是否可见。这三个检查决定了你后续能做什么操作。在桌面里打开终端依次执行以下命令。# 查看块设备列表确认硬盘是否被识别 lsblk -o NAME,SIZE,MODEL,FSTYPE,MOUNTPOINT # 查看网络接口状态 ip a # 查看内核检测到的PCI设备确认平台总线是否正常 lspci | head -20输出说明lsblk里能看到类似nvme0n1或sda的设备说明硬盘枚举正常如果你的硬盘是组了RAID的这里可能显示为md0或某个Raid控制器设备。ip a里至少应有一个非loopback接口处于UP或DOWN状态如果没有网卡检查是否缺少固件或驱动。lspci能看到总线设备树如果这一项为空说明ACPI表解析有问题后面的硬盘挂载大概率也走不通。三个检查都通过就可以进入真正的救援操作了。如果某个检查失败直接跳到最后一张避坑章节对照处理。这里之所以强调“先检查再动手”是因为在不确认设备状态的情况下直接挂载分区很容易把只读挂载和读写挂载搞混对文件系统造成二次损伤。5. 进入LiveCD模式后的三大实战场景改密码、修引导、备份数据5.1 场景一修改忘记的root密码——chroot与passwd的配合顺序最常见的LiveCD救援场景就是root密码遗失。系统起不来是因为登录不了但硬盘本身是好的这时候Live环境里只需做一件事把硬盘根分区挂载到/mnt用chroot切进去然后改密码。这里有一个必须强调的顺序先挂载根分区再挂载/boot分区如果独立分区最后一定要先挂载/dev、/proc、/sys这三个虚拟文件系统再chroot。不挂这三个直接chroot随后执行的命令会报各种诡异错误比如无法解析主机名、passwd提示找不到共享库。# 先确认根分区设备名假设为/dev/nvme0n1p2 sudo mkdir -p /mnt/sysroot sudo mount /dev/nvme0n1p2 /mnt/sysroot # 如果/boot是独立分区也一并挂载 sudo mount /dev/nvme0n1p1 /mnt/sysroot/boot # 绑定虚拟文件系统 sudo mount --bind /dev /mnt/sysroot/dev sudo mount --bind /proc /mnt/sysroot/proc sudo mount --bind /sys /mnt/sysroot/sys # 切入目标系统 sudo chroot /mnt/sysroot # 修改root密码按提示输入两次新密码 passwd root # 退出chroot并卸载所有挂载 exit sudo umount /mnt/sysroot/sys /mnt/sysroot/proc /mnt/sysroot/dev /mnt/sysroot/boot /mnt/sysroot逻辑说明chroot改变的是当前进程看到的根目录它并不修改硬盘上的系统文件所有操作在内存中中转写入实时落盘。passwd命令在chroot环境下运行会直接修改/mnt/sysroot/etc/shadow文件这个文件就是硬盘上原系统的密码散列。卸载顺序要和挂载顺序相反先卸载最内层否则会报target is busy。参数说明mount --bind是把当前系统的/dev目录绑定到目标系统的/dev位置这样chroot环境里访问/dev就等于访问Live系统的/dev。不要跳过这一步否则chroot里执行passwd时可能因为无法读取随机数种子而卡住。值得一提的坑某些麒麟系统默认对root账户锁定密码改完重启后用新密码可能还是进不去。遇到这种情况编辑/etc/ssh/sshd_config允许root登录只是远程方案本地登录需要检查/etc/passwd里root的shell是否为/bin/bash。如果是/sbin/nologin用chroot环境下的usermod命令修复。命令为usermod -s /bin/bash root。5.2 场景二修复GRUB引导——grub-install的重装与grub.cfg的生成系统能进入Live但硬盘系统起不来屏幕停在GRUB提示符或黑屏光标这说明GRUB引导程序损坏或配置文件丢失。修复思路比普通Linux稍有差异因为麒麟的GRUB配置里包含了针对定制内核的引导参数直接套用通用发行版的修复命令可能导致内核启动参数缺失。所以先备份旧配置再重装GRUB再重新生成配置。# 挂载根分区和/boot分区沿用场景一里的挂载方式 # 备份旧配置 sudo cp /mnt/sysroot/boot/grub/grub.cfg /mnt/sysroot/boot/grub/grub.cfg.bak # chroot进系统后执行修复 sudo chroot /mnt/sysroot # 确认grub工具存在 grub-install --version # 在BIOS模式下向硬盘MBR写入引导程序 grub-install /dev/nvme0n1 # 重新生成grub.cfg update-grub参数说明grub-install后面的设备名是整盘设备不带分区号。向/dev/nvme0n1写入的是引导代码向/dev/nvme0n1p1写入的是配置文件所在分区两者职责不同。update-grub会扫描所有分区里的内核镜像生成包含全部启动项的grub.cfg。这一步不要把GRUB_DISABLE_OS_PROBER设成true否则update-grub扫描不到Windows或其他系统。如果grub-install报错找不到BIOS驱动这个场景通常是因为麒麟的GRUB包不完整需要在chroot里补装。补装命令如下apt-get update apt-get install --reinstall grub-pc-bin这样操作后会重新填充/usr/lib/grub下的平台模块再执行grub-install就通了。还有一个细节需要现场判断如果硬盘分区表是GPT而固件是BIOS模式需要预留BIOS boot分区。华为9006C平台出厂系统如果采用了UEFI方式安装那么你的Live修复要对应改成grub-install --targetx86_64-efi方式不要盲目向MBR写入。5.3 场景三数据备份与分区只读挂载的正确方式LiveCD模式里备份数据是最安全的操作场景因为硬盘系统没有被挂载等于没有写入负载。但备份前有一个关键选择要不要以只读方式挂载源分区如果你怀疑文件系统已经受损建议只读挂载避免挂载时日志回放触发更多写入。# 只读挂载原系统的home分区 sudo mkdir -p /mnt/home sudo mount -o ro /dev/nvme0n1p3 /mnt/home # 备份到外接移动硬盘 sudo mkdir -p /mnt/backup sudo mount /dev/sdc1 /mnt/backup sudo rsync -avh --progress /mnt/home/ /mnt/backup/home_backup/参数说明-o ro对文件系统以只读方式挂载即使文件系统里有日志内核也不会做回放写入。rsync的-a参数保留权限、属主、时间戳-v显示过程-h输出可读容量。加--progress可以看到每个文件的传输速度对大目录备份来说能直观判断是否卡住。备份完成后不要直接拔移动硬盘先umount再拔否则缓存里的数据没有完全落盘拷出来的文件可能是残缺的。umount报target is busy时用lsof /mnt/backup找出占用进程或者fuser -km /mnt/backup强制结束占用。这里给一个建议无论修引导还是改密码动手前先挂在Live环境里跑一次fsck确认文件系统干净再进行写操作。fsck命令的用法和输出属于临场操作里最容易被人跳过的一步但它能直接规避后续读写时遇到的inode错误。具体命令是fsck -f /dev/nvme0n1p2注意先umount再跑。6. LiveCD模式实战避坑5个高频问题的现象、原因与解法6.1 U盘插入后启动菜单里没有USB选项或者选了U盘又跳回硬盘启动现象开机按F11启动菜单里只有硬盘和光驱没有USB设备或者选了U盘启动屏幕闪一下黑屏又回到硬盘启动。原因这通常有两个来源。一是U盘写入方式不对ISO镜像模式和DD镜像模式的差别在启动扇区上ISO模式写入的U盘在某些固件上不被认可为可启动设备。二是U盘插在USB 3.0口上而9006C平台固件对USB 3.0 enumerate的支持不完整导致设备枚举失败。解决重新用DD模式写入U盘确认分区表类型是MBR。U盘换到后置USB 2.0口重试。如果还是识别不了换一个U盘主控部分主控的固件导出的SCSI命令集在BIOS启动阶段不兼容。另外检查ISO文件是否匹配ARM架构——如果你下载的是x86版镜像它在这个平台上根本无法引导。6.2 Live系统启动时黑屏但能听到风扇转速变化说明系统在跑现象GRUB菜单能出来选Live模式后屏幕完全黑屏没有错误输出但机器没有死机硬盘灯也不常亮。原因显卡驱动切换失败。9006C平台板载显示芯片在Live内核里没有匹配的DRM驱动内核尝试加载驱动时切换到不兼容的模式输出信号丢失。解决重启进入GRUB菜单按E编辑内核命令行追加nomodeset参数。如果追加后屏幕恢复了基本分辨率输出说明问题确实在显示驱动进入系统后也不需要再折腾凑合使用命令行即可。如果追加nomodeset仍然黑屏检查显示器连接是DP还是HDMI某些平台的固件只在特定端口输出信号这种情况在桌面环境里调整显示器接口即可。6.3 进入Live桌面后看不到硬盘但Windows或原系统能正常识别现象Live系统完全正常启动桌面终端里lsblk只显示U盘和内存设备看不到任何nvme或sata设备。原因内核里对应控制器的驱动模块没有加载或者固件里SATA/NVMe控制器处于某种RAID模式Live内核缺少对应的RAID驱动模块。解决先跑lspci确认控制器型号和厂商ID然后modprobe手动加载可能缺失的模块。对于华为9006C平台常见需要加载的是ahci和nvme模块命令为modprobe ahci和modprobe nvme。如果是RAID模式查看是否有megaraid_sas或hpsa模块可加载。加载后再执行lsblk确认。如果lspci都看不到控制器问题回到固件层面需要进固件设置把SATA模式从RAID改成AHCI这个操作会改变硬盘设备名操作前必须先把/etc/fstab里的UUID抄下来。6.4 chroot进去后命令报“bash: passwd: command not found”现象chroot成功进入硬盘系统但执行passwd时提示命令不存在或者passwd能用但修改后重启密码还是原来那个。原因Live环境的二进制文件和硬盘系统的库文件不兼容这种情况在架构跨平台上特别明显。9006C版本的Live镜像基于ARM架构和硬盘系统同为ARM则较少出现但如果你的硬盘系统是UEFI安装且内置了用户态的沙箱或加固配置/usr目录可能被单独挂载chroot进去后只挂了根分区/usr还是空的。解决确认挂载完整根分区和/usr分区以及/boot分区。如果系统使用单独的/usr挂载回到lsblk里找/usr所在设备并挂载。另外检查chroot环境里/dev是否绑定passwd依赖/dev/urandom绑定缺失时随机数读取失败也会导致命令异常。修正挂载后重新chroot再执行passwd。6.5 Live环境中修改了硬盘文件重启后改动不生效或文件系统损坏现象在Live环境里改了文件比如修改了/etc/fstab或/root下某个文件确认写入成功umount也正常但重启进原系统后改动丢失在极端情况下原系统启动时报文件系统错误。原因修改过程中直接修改了文件而未同步到磁盘。Live环境的page cache机制和普通系统没有区别但如果你修改后没有执行sync或者umount时中断脏页没有落盘。另一个容易被忽略的情况你挂载的是某个快照设备而不是真实分区比如系统组了LVM你挂载的是LV快照。解决所有文件修改结束后在umount前执行sync强制落盘然后正常umount。如果设备是LVM确认lvdisplay里哪个是真实LV。修改前先记录原设备名避免挂到快照上。umount后用fsck -f对分区做一次检查确认文件系统clean再重启。这条问题属于典型的“把Live环境当普通桌面用”导致的翻车谨慎一点就不会栽在这里。7. 收尾技巧LiveCD模式下的网络救援与传统修机习惯的取舍Live环境确认能进、硬盘也能挂之后很多修复操作其实没必要在本地一个命令一个命令敲。如果你所处的机房有内网DHCPLive系统装完网络驱动后是可以直接联网的这时候可以开启SSH服务用另一台电脑远程执行修复命令。这个习惯在无人值守机房或屏幕显示异常的场景下特别有用因为Live系统里的SSH服务需要手动拉起。# 启动SSH服务并设置临时root密码 sudo systemctl start ssh sudo passwd root # 确认IP地址后从另一台机器远程接入 ip a show # 远程连接命令 ssh rootLive系统IP参数说明systemctl start ssh只针对当前Live会话生效重启即消失不影响硬盘系统。passwd root设置的是Live环境内存里的密码和硬盘系统的root密码完全独立不用担心污染原系统。远程连接时如果Live系统的IP是DHCP分配的先看ip a的输出确认如果是静态网络环境用ip addr add手动配置IP。注意Live环境里的hostname是随机生成的连接时不要依赖hostname直接用IP。这个方法给我留了一个习惯进入LiveCD模式后不管任务多简单第一件事先把SSH拉起来密码设一个临时值。这样哪怕后面屏幕突然挂了也能远程把活干完。一个小时后要重启回原系统时记得把临时密码清掉——虽然它只活在内存里但多一道习惯少一次误操作。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站