资讯动态

麒麟V10SP1 LiveCD模式救援实战:ARM平台系统修复指南

发布时间:2026/10/13 13:05:58 来源:尧图企业网站定制
简介一份面向银河麒麟桌面操作系统V10SP1华为9006C版本的LiveCD模式操作指南主要受众为具备Linux基础的系统管理员、运维人员与国产系统适配开发者可用于不安装系统场景下的功能体验、性能测试或环境预研。文档以U盘启动盘为起点逐步拆解进入图形化LiveCD的完整链路先通过ctrlaltf1切换到字符界面使用kylin账号登录并配置密码再借助ps、grep精确查询start-installer进程的PID并通过kill命令安全终止该进程随后系统自动跳转图形界面选择“UKUI on Wayland”会话并输入刚设置的密码即可进入可操作的LiveCD桌面环境。除步骤讲解外文档还标注了每步操作对应的界面反馈和注意事项便于读者跟随操作并及时确认结果。资源为单个PDF文件大小245KB内容精炼、无冗余已有2502人学习下载。对于需要快速掌握麒麟系统引导技巧或开展前瞻性验证的技术人员这份指南能有效降低环境搭建门槛具备较高的实操参考价值。1. LiveCD模式到底是干什么的系统起不来时的那根救命稻草银河麒麟桌面操作系统V10SP1华为9006C版本跑在ARM架构的9006C平台上日常用着没问题可真到某天开机黑屏、卡在GRUB命令行、或者登录界面无限循环时你才会意识到手里有没有一根能进LiveCD的U盘直接决定你是“半小时修好”还是“重装系统丢数据”。LiveCD模式说白了就是绕过硬盘上那套已经起不来的系统从U盘里加载一套完整可用的临时系统让你能挂载硬盘、翻日志、改配置、修复引导。这篇文章面向的是系统管理员、运维工程师和嵌入式调试人员写的是从制作启动盘到完成救援的完整操作路径以及我在9006C平台上反复踩过的坑。2. 准备LiveCD启动U盘镜像架构、烧录方式与三个参数细节2.1 第一步先确认平台架构9006C为什么必须用aarch64镜像9006C处理器的指令集是ARM架构对应Linux里的体系结构叫aarch64。麒麟V10SP1虽然同时发布x86_64和aarch64两套安装镜像但aarch64镜像在x86的机器上根本启动不了反过来也一样。有人觉得“都是Linux镜像差不多吧”实际上固件、内核、initramfs里编译进去的驱动完全是两套混用只会看到开机后连GRUB菜单都不出现。我一般拿到机器先执行一句命令确认架构uname -m # 输出 aarch64 或 arm64 就对了 # 输出 x86_64 说明这台不是9006C平台镜像选型要换这条命令在LiveCD环境里同样有效。制作救援盘之前先确认目标机器是纯aarch64环境。麒麟V10SP1的LiveCD镜像通常和安装镜像放在一起文件名里带aarch64或arm64标识。下载后先校验SHA256避免烧录一个损坏的镜像然后排查一整天。启动盘制作还有一个容易被忽略的细节U盘本身也会影响启动。建议用8GB以上的品牌U盘别用那种几十块钱的杂牌盘读写不稳定会在烧录阶段就翻车。烧录前把U盘里已有的分区全部清掉避免残留分区表干扰启动。2.2 dd直写烧录与图形烧录两种做法和参数细节烧录LiveCD镜像有两条常见路线在Linux下用dd命令直接写入或者在Windows/Linux下用图形化工具烧录。dd适合手里已经有Linux环境的人图形工具更适合临时找一台Windows机器操作。dd命令的完整写法# 先确认U盘设备名千万看清楚别把硬盘写了 lsblk -o NAME,SIZE,MODEL,TRAN # /dev/sdb 是U盘容量和你手上U盘一致 # 卸载U盘上已挂载的分区 umount /dev/sdb* 2/dev/null # 开始烧录bs4M 是读写块大小statusprogress 显示进度 sudo dd ifKylin-Desktop-V10SP1-9006C-aarch64.iso of/dev/sdb bs4M statusprogress convfsync烧完后用sync把缓存刷到磁盘然后拔U盘。这里最关键的参数是of它指向的是整个U盘设备/dev/sdb而不是分区/dev/sdb1。写错设备名会把硬盘数据盖掉这种事故我见过不止一次所以烧录前务必用lsblk比对容量。图形烧录工具方面常见的写盘工具可以选“以镜像文件写入”模式而不是“解压到U盘”模式。镜像文件写入是逐扇区拷贝能保留LiveCD的引导信息解压模式做出来的盘经常开机报找不到引导器。烧录完成后Windows会提示“需要格式化磁盘”直接忽略这是正常的因为U盘里是Linux文件系统。2.3 启动盘的分区、格式和安全启动设置dd烧出来的U盘分区格式完全由镜像内部决定不需要手动干预。但如果你用的是“复制文件到U盘”的做法那就要注意FAT32、exFAT和ext4的区别FAT32兼容性最好但放不下超过4GB的单个文件exFAT能放大文件但部分旧固件不支持ext4在Windows下看不到文件但Linux下最可靠。LiveCD镜像通常超过4GB所以复制文件方案默认不可行最后还是得回到整盘写入。9006C平台的主板固件一般默认开启安全启动Secure Boot。LiveCD镜像是社区签名还是厂商签名每个版本情况不一样。最省事的做法是进固件设置界面找到Secure Boot选项临时关闭等系统修好再打开。有些主板的固件里还有CSM兼容模式选项如果LiveCD引导不起来把这个打开再试一次。这里有个容易被忽略的点U盘插在哪个接口上。9006C平台有些前面板USB口是USB 2.0的供电和识别都没问题但偶尔有主板对USB 3.0的启动支持不完整。我习惯直接把U盘插在后置USB 2.0口上能少一种变量。3. 从开机按键到chroot完整进入LiveCD并接管硬盘系统3.1 开机引导菜单与LiveCD入口的选择U盘插好后开机在主板自检阶段按启动菜单快捷键。这个按键每块主板不一样常见的是F11、F12也有用ESC或F7的。开机时屏幕下方一般会闪过一行提示写着Boot Menu、F11或者类似字样没看清就多试几次重启成本不高。从启动菜单里选中你的U盘回车后会看到GRUB引导菜单。麒麟V10SP1的LiveCD通常有两三个入口默认的图形模式、安全图形模式safe graphics、或者内存检测模式。这里不要一上来就选默认项9006C平台的显卡驱动在LiveCD里加载偶尔出问题如果默认模式卡在某个地方不动重选safe graphics再试一次。进入LiveCD环境后第一步是确认系统认出了U盘和硬盘# 查看所有块设备重点看硬盘是否被识别 lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT # 查看处理器信息确认是9006C平台 lscpu | grep -i model name\|architecture正常情况能看到一块nvme0n1或者sda对应机器里装的硬盘。如果这里什么都看不到说明LiveCD内核缺驱动或者硬盘坏了后面避坑章节会单独讲。3.2 挂载根分区、绑定系统目录并chrootLiveCD环境起来之后我们要把硬盘上的系统“接”进当前环境这样就能用硬盘里的工具链修系统。chroot是这场救援的核心操作但chroot之前必须先挂载根分区不然进去也是个空目录。# 先看分区结构确认哪个是根分区 lsblk -f # 例nvme0n1p2 是根分区nvme0n1p1 是EFI分区 # 挂载根分区 mkdir -p /mnt/sysroot mount /dev/nvme0n1p2 /mnt/sysroot # 绑定虚拟文件系统chroot后才能看到进程、设备和内存信息 mount --bind /dev /mnt/sysroot/dev mount --bind /proc /mnt/sysroot/proc mount --bind /sys /mnt/sysroot/sys # 如果有单独的/boot分区也要挂上没有就跳过 mount /dev/nvme0n1p1 /mnt/sysroot/boot 2/dev/null || true # 进入硬盘上的系统 chroot /mnt/sysroot /bin/bashmount --bind的意思是把LiveCD的/dev、/proc、/sys目录映射到目标系统的目录里这样你在chroot里执行的命令能看到真实的硬件设备和内核状态否则grub-install这类工具会报各种诡异错误。mount命令末尾的|| true表示如果/boot分区不存在就跳过防止脚本中断。chroot成功后命令行提示符会变ls /usr/bin能看到硬盘系统里的软件。到这里就可以把LiveCD当作“手术台”开始修复工作。3.3 典型救援操作修复GRUB引导与重置登录密码chroot进去之后最常见的两个救援任务是重装GRUB引导和重置密码。GRUB引导损坏的情况通常表现为开机直接进GRUB命令行或者黑屏上一行error: no such partition。# 在chroot环境中执行 # 查看磁盘确认bootloader要装到哪个盘 lsblk # 安装GRUB到EFI系统分区9006C平台标配UEFI引导 grub-install --targetarm64-efi --efi-directory/boot --bootloader-idKylin # 重新生成grub.cfg扫描硬盘上的内核和initramfs grub-mkconfig -o /boot/grub/grub.cfg # 如果主板是BIOS传统引导模式少见改用这条 # grub-install --targetarm64-efi --force /dev/nvme0n1 # 退出chroot并重启验证 exit rebootgrub-install的--targetarm64-efi是9006C平台的关键参数因为aarch64的UEFI引导对应这个目标平台。如果用--targetx86_64-efi工具会直接报错。--efi-directory指向EFI分区的挂载点--bootloader-id会生成启动项名称。重置密码是另一个高频操作。系统登录密码忘了或被人改了LiveCD里可以直接覆盖# chroot环境下执行 chroot /mnt/sysroot /bin/bash # 直接清空root用户密码重启后用root免密登录 # 注意命令输出为空是正常的 passwd -d root # 或者设置一个新密码 passwd root # 输入两次新密码即可 exit用passwd -d清空密码后登录时直接回车就行。但有些系统配置了PAM安全策略空密码会被拒绝登录这种情况下建议还是passwd设置一个新密码更稳妥。改完密码后如果系统里启用了SELinux还要检查是否需要重置安全上下文多数桌面版默认不强制但严谨起见可以执行touch /.autorelabel让系统下次启动时自动修复文件安全标签。4. 进入LiveCD模式的5条避坑记录现象、原因与处理4.1 U盘烧录后开机仍然进入原系统没出现LiveCD菜单现象U盘明明插好了开机还是直接进了原来的系统仿佛U盘不存在。原因排查最常见的是启动顺序问题主板把硬盘设成了第一启动项根本没去读U盘。其次可能是U盘没烧录成功或者U盘格式有问题。解决先开机进启动菜单F11/F12手动选U盘。如果启动菜单里看不到U盘退回系统里重新烧录确认是用“写入镜像”的方式而不是“解压文件”。如果启动菜单里有U盘但选完还是进了原系统检查Secure Boot关闭后重试。还有一个冷门原因有些主板在USB设备初始化慢时开机自检时还没识别到U盘换一个后置USB 2.0口解决。4.2 LiveCD环境里看不到9006C平台上的NVMe硬盘现象进入LiveCD后执行lsblk只看到U盘本身硬盘完全没有出现。原因排查这是最让人紧张的情况因为第一反应是“硬盘坏了”。多数时候其实是LiveCD内核缺少这块NVMe控制器的驱动或者硬盘处于休眠状态控制器没有被唤醒。解决先别急着判硬盘死刑执行dmesg | grep -i nvme看内核日志里有什么线索。如果是驱动缺失去厂商网站找对应aarch64版的驱动包挂载到一个临时目录里modprobe加载。如果驱动没问题检查BIOS里SATA/NVMe模式设置有些机器把控制器设成了RAID模式LiveCD里没有对应的raid驱动。把模式改成AHCI或NVMe原生模式再进LiveCD就能看到了。4.3 chroot之后yum/apt报错或网络不通现象chroot进硬盘系统后执行yum install或apt-get install报错提示网络不可达或者DNS解析失败。原因排查chroot环境里虽然绑定了/dev、/proc、/sys但网络配置没有绑定。/etc/resolv.conf里是LiveCD的配置还是空文件取决于你当时挂载的细致程度。另外目标系统的仓库地址可能是内网地址公网环境当然访问不了。解决先确认网络配置用ip a看网卡有没有地址。没有地址就dhclient获取一个或者手动配置静态IP。DNS的问题在chroot外先执行mkdir -p /mnt/sysroot/etc cp /etc/resolv.conf /mnt/sysroot/etc/resolv.conf把LiveCD的DNS配置复制进去。如果目标系统访问的是内网仓库在/path/下的repo配置文件里镜像源临时改成阿里云或清华源的公网地址修完再改回来。4.4 在LiveCD里做完GRUB修复重启还是起不来现象grub-install和grub-mkconfig都执行成功了没有报错重启还是卡在GRUB命令行。原因排查grub-install成功只能说明引导器写入了EFI分区但不能保证EFI启动项正确。问题往往出在主板NVRAM里的启动项记录指向了旧的、已经被覆盖的引导文件路径或者grub.cfg里的root参数指向的分区UUID变了。解决重启进GRUB命令行后手动用ls命令查看可用分区找到Linux分区后用set root设置根设备再用linux和initrd两条命令手动加载内核。能手动引导启动说明问题在grub.cfg不能引导说明内核或initramfs本身有问题。另外检查EFI启动项在LiveCD里执行efibootmgr -v看启动项列表里有没有残留的旧Kylin项用efibootmgr -b 000X -B删掉后重新创建新启动项。4.5 LiveCD启动后键盘鼠标失灵画面卡死在登录界面现象LiveCD启动过程看起来正常到了桌面或登录界面键盘鼠标完全没反应按什么都没有响应。原因排查这类问题多出在USB控制器驱动或输入设备的设备节点创建上。9006C平台的某些主控芯片在LiveCD内核里的USB HID驱动加载时会与新固件冲突或者LiveCD图形界面默认加载的显示驱动和输入设备路由不一致。解决先在GRUB菜单启动项上按e编辑启动参数在linux行末尾加上modprobe.blacklistehci_pci强制禁用旧USB控制器驱动让内核使用xhci驱动来处理USB设备。如果键盘鼠标还是没反应尝试用串口连接调试在启动参数里加上consolettyS0,115200看内核日志定位到具体哪个驱动崩溃。这类问题在LiveCD环境里不一定需要彻底解决——如果SSH能连上完全可以跳过图形界面直接用命令行完成所有救援操作。5. 在LiveCD里调参内核启动参数、显控与网络配置5.1 常用内核启动参数对照表与适用场景进入LiveCD救援时掌握几个内核启动参数能让你少走很多弯路。在GRUB菜单选中启动项后按e进入编辑模式找到linux那一行行尾追加参数按CtrlX或F10启动。参数作用适用场景nomodeset禁用显卡内核mode setting使用BIOS/VBIOS提供的显示模式启动后花屏、黑屏、画面冻结single进入单用户模式不启动图形界面需要纯字符环境避免GUI干扰modprobe.blacklist模块名禁用指定内核模块某个驱动导致内核崩溃或硬件识别异常consolettyS0,115200串口控制台输出内核日志图形界面看不到时用串口排查rd.debuginitramfs阶段输出详细调试信息启动卡在early userspace阶段systemd.unitmulti-user.target跳过图形界面直接到多用户命令行图形登录界面循环重启时实际使用时这些参数可以叠加比如nomodeset consolettyS0,115200两个参数同时加上既解决显示问题又保留串口调试通道。有一点要注意这是LiveCD环境的临时调参只对本次生效不会写进硬盘系统放心试。5.2 显卡与显示异常临时禁用内核mode setting9006C平台上进LiveCD最常见的显示异常是启动过程中屏幕突然黑掉或者花屏系统其实还在运行只是显示输出没了。这是因为LiveCD内核默认加载了显卡驱动但驱动对9006C这颗处理器集成的显示控制器支持不完整。在GRUB编辑界面linux那一行末尾加上nomodeset。作用是不让内核直接操作显卡硬件把显示控制权交给固件层虽然画面分辨率会退回默认值通常是1024x768但至少能稳定显示。如果加了nomodeset还是黑屏尝试vga792参数强制指定VGA显示模式。注意这个参数在新内核里逐渐被弃用但部分麒麟版本还在用老内核兼容性上有时候老参数比新机制更管用。5.3 配好网络再干活LiveCD下的nmcli命令LiveCD里修系统很多时候需要下载驱动包或更新源网络配置就变成必备技能。麒麟V10SP1的LiveCD默认使用NetworkManager管理网络命令行操作可以用nmcli工具。# 查看网卡状态 nmcli device status # 查看无线网络列表 nmcli device wifi list # 连接一个指定WiFi nmcli device wifi connect SSID名称 password 密码 # 有线网卡获取动态IP nmcli device connect eth0 # 手动配置静态IP的完整例子 nmcli connection add \ con-name fix-network \ type ethernet \ ifname eth0 \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns 114.114.114.114 223.5.5.5 \ ipv4.method manualnmcli connection add的参数如果不写ipv4.method manual默认会同时保留DHCP造成手动IP和自动IP冲突。如果机器上有多块网卡ifname参数必须写明确否则命令会报错要求指定设备。配好网络后用ping验证连通性通了再继续后续操作。还有一种情况是有线网卡在LiveCD里没有被自动激活执行nmcli device connect eth0强制激活。如果网卡驱动本身没加载ifconfig -a或ip link show里根本看不到eth0这时候要回到第四节的方法做内核模块排查。6. 出LiveCD前的最后一小时验证清单与两个长期习惯救援基本完成后别急着拔U盘重启有一套快速验证流程值得做一遍。先确认挂载的EFI分区里有引导文件EFI/BOOT目录下的grubaa64.efi和bootaa64.efi存在这决定了开机能不能走到GRUB菜单。接着检查grub.cfg里的root参数和实际磁盘分区的UUID是否匹配不匹配的话何止是进不了系统连GRUB命令行都得手动折腾半天。我用blkid命令比对UUID发现问题就在chroot里直接改/boot/grub/grub.cfg。然后是网络配置的验证。如果这台机器后续还有远程管理需求确认systemctl status NetworkManager显示active网卡配置文件在/etc/sysconfig/network-scripts/目录下正确生成。USB设备的验证也不能漏特别是系统盘之外的存储设备插上一块移动硬盘看dmesg里有没有识别记录。最后同步一下时间。在etsi时区不对的时间戳会在日志里干扰后续排障排序。在chroot里执行date命令确认当前时间差太多就手动调整或者启动ntp服务同步。我在习惯上保留两个做法一是常备一根专用救援U盘里面除了LiveCD还放了常用驱动包、离线repo包和几个写好的救援脚本省得每次出问题都在现场找包下载二是每次动grub.cfg或密码文件之前先留一个备份副本文件不大但能在失误后一瞬间恢复现场。有一次我更新GRUB时电源中断重启彻底黑屏正是靠备份在U盘里的grub.cfg手动引导救回来的那是印象深刻的一课。希望这篇指南帮到你愿你手里的每一台9006C都能顺利从LiveCD里满血复活。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑