1. 为什么“找镜像”这件事比想象中更折腾
如果你最近在折腾国产化替代项目,大概率绕不开银河麒麟V10这个系统。不管是给飞腾、龙芯还是兆芯平台装系统,第一步永远是——找到对的ISO。听起来简单,但实际操作过的人都知道,这事儿能卡住你半天甚至一天。
我最近帮一个做轨道交通AFC系统的团队做国产化工控平台适配,他们用的是龙芯2K3000方案,需要装银河麒麟V10 SP3服务器版。团队里几个小伙子从早上九点开始找镜像,到下午两点还在各种论坛里翻链接,要么是版本对不上,要么是下载下来发现是桌面版不是服务器版,要么是ARM64和x86_64搞混了。这不是个例,我见过太多人在这一步浪费时间。
问题的根源在于:银河麒麟V10的版本体系比较复杂,按架构分有飞腾(ARM64)、龙芯(LoongArch)、兆芯(x86_64)等多个平台,按用途分有桌面版、服务器版、高级服务器版,按更新批次又分SP1、SP2、SP3等。再加上官方下载渠道的入口不算特别直观,很多人第一次找确实容易懵。
这篇内容就是把我自己多次安装银河麒麟V10的经验整理出来,从版本选择、镜像获取、启动盘制作到安装后的基础配置,一步步说清楚。适合正在做国产化适配的运维、开发,也适合刚接触麒麟系统想自己装一台试试的爱好者。我不会只给你一个下载链接就完事,而是把每个环节的判断逻辑和踩过的坑都讲明白,让你下次遇到类似场景能自己搞定。
2. 先把版本搞清楚:飞腾、龙芯、兆芯到底选哪个
2.1 架构差异不是小事,选错了装都装不上
银河麒麟V10最核心的版本区分就是CPU架构。飞腾用的是ARM64架构,龙芯用的是LoongArch架构(注意,龙芯3A5000之后是LoongArch,之前的3A4000还是MIPS),兆芯用的是x86_64架构。这三个架构的ISO完全不通用,你拿飞腾的镜像去装兆芯的机器,连启动都启动不了。
怎么判断自己该用哪个?最直接的办法是看CPU型号。飞腾的常见型号有FT-2000/4、D2000、FT-1500A等,龙芯有3A5000、3A6000、2K1000、2K3000等,兆芯有KX-6000、KX-7000系列。如果你不确定,可以在现有系统上执行uname -m或者lscpu看一下。ARM64会显示aarch64,x86_64会显示x86_64,LoongArch会显示loongarch64。
注意:龙芯2K1000和2K3000虽然都是LoongArch,但2K1000是嵌入式场景用的,2K3000更多用在工控和轨道交通AFC系统里。如果你是要给2K3000做适配,选LoongArch版本的服务器镜像就对了。
2.2 桌面版和服务器版的选择逻辑
银河麒麟V10分为桌面操作系统和服务器操作系统两条产品线。桌面版带图形界面,适合日常办公、开发调试;服务器版默认没有图形界面(但可以后装),适合部署在生产环境。
很多人会纠结:我开发的时候用桌面版,部署的时候用服务器版,那是不是要装两遍?其实不一定。如果你只是做应用适配验证,桌面版完全够用,因为桌面版也支持安装各种开发工具和服务组件。但如果你要模拟真实生产环境,尤其是涉及到离线安装Nginx、部署Docker容器这类场景,建议直接用服务器版,避免桌面版自带的一些组件和服务器版有差异。
还有一个细节:银河麒麟V10 SP3是目前比较新的版本,SP3的Lance版本是服务器版的一个特定分支。如果你看到“麒麟V10 SP3 Lance版本服务器版本镜像包”这个说法,指的就是SP3的服务器版。SP2和SP3在内核版本、软件包版本上有差异,新项目建议直接用SP3。
2.3 版本选择速查表
| 平台 | 架构标识 | 常见CPU型号 | 推荐镜像类型 |
|---|---|---|---|
| 飞腾 | aarch64 | FT-2000/4、D2000 | 服务器版SP3 ARM64 |
| 龙芯 | loongarch64 | 3A5000、3A6000、2K3000 | 服务器版SP3 LoongArch |
| 兆芯 | x86_64 | KX-6000、KX-7000 | 服务器版SP3 x86_64 |
这张表建议保存下来,下次找镜像的时候直接对照,能省不少时间。
3. 镜像获取:官方渠道和离线场景的实操路径
3.1 官方下载入口的正确打开方式
银河麒麟的官方下载渠道是麒麟软件官网。进入官网后,找到“服务与支持”或者“下载中心”入口。这里有个容易踩的坑:官网的下载页面会要求你注册账号并登录,而且部分版本需要提供项目信息或者申请试用授权才能下载。
我的建议是:如果你是企业用户,直接用公司邮箱注册,填写真实的项目信息,一般当天就能通过审核。如果是个人学习用途,可以关注麒麟软件官方公众号或者技术社区,有时候会放出一些公开的试用镜像。
下载的时候注意看文件名。银河麒麟的ISO命名一般包含版本号、架构、版本类型等信息。比如Kylin-Server-V10-SP3-Release-20231010-ARM64.iso这样的命名,你能直接看出是服务器版SP3、ARM64架构。如果文件名里没有明确的架构标识,下载前一定要在页面上确认清楚。
3.2 离线环境下的镜像搬运策略
很多国产化项目是在内网环境里做的,机器根本连不了外网。这种情况下,你需要在能上网的机器上下载好ISO,然后通过U盘或者移动硬盘拷进去。
这里有个实操细节:银河麒麟的服务器版ISO大小一般在4GB到8GB之间,桌面版也差不多。如果你用U盘拷贝,注意U盘的文件系统格式。FAT32格式不支持单文件超过4GB,所以如果你的ISO大于4GB,U盘必须格式化成exFAT或者NTFS。我见过有人用FAT32的U盘拷了半天,最后发现文件被截断了,白忙活一场。
另外,拷贝完成后一定要校验文件的完整性。银河麒麟官网一般会提供SHA256校验值,下载后先在能上网的机器上算一下哈希,确认一致再往内网搬。命令很简单:
sha256sum Kylin-Server-V10-SP3-Release-20231010-ARM64.iso把输出的哈希值和官网公布的值对比,一致就说明文件没问题。这一步看着多余,但内网环境里如果ISO损坏,你装到一半报错,排查起来更麻烦。
3.3 启动盘制作:不同架构的注意事项
制作启动盘的工具选择上,我推荐用dd命令或者balenaEtcher。dd命令在Linux和macOS上都能用,balenaEtcher有图形界面,Windows下也能用。
用dd命令制作启动盘的基本操作:
sudo dd if=Kylin-Server-V10-SP3-Release-20231010-ARM64.iso of=/dev/sdX bs=4M status=progress其中/dev/sdX是你的U盘设备名,千万别写错了,写错了可能把系统盘给覆盖了。执行前先用lsblk确认一下U盘的设备名。
提示:飞腾和龙芯平台的机器,有些BIOS对U盘启动的支持不太一样。如果制作好的启动盘插上去识别不到,可以尝试在BIOS里把启动模式从UEFI改成Legacy,或者反过来。另外,有些飞腾平台的机器需要把U盘插在特定的USB接口上才能引导,这个在工控机上尤其常见。
4. 安装过程:从引导到分区的手把手操作
4.1 引导阶段可能遇到的坑
把启动盘插到目标机器上,开机按F2或者Del进入BIOS(不同主板按键不同,飞腾平台常见的是F2,兆芯平台常见的是Del),把U盘设为第一启动项。保存退出后,如果一切正常,你会看到银河麒麟的安装引导菜单。
但实际场景里,这一步经常出问题。我遇到过几种典型情况:
第一种是引导菜单出来了,但选择“Install Kylin Linux Advanced Server V10”之后黑屏或者卡住。这种情况多半是显卡驱动或者显示输出模式的问题。可以在引导菜单里按e编辑启动参数,在linux那一行末尾加上nomodeset,然后按Ctrl+X启动。nomodeset的作用是让内核不要加载显卡驱动,用最基本的显示模式启动,能绕过大部分显示相关的问题。
第二种是根本看不到引导菜单,直接进了原来的系统或者报“No bootable device”。这通常是BIOS里的启动模式设置不对。银河麒麟V10支持UEFI和Legacy两种启动模式,你的启动盘是按哪种模式制作的,BIOS里就要对应设置。用dd命令制作的启动盘一般是双模式的,但有些工具制作的只支持一种。
第三种是龙芯平台特有的问题:LoongArch架构的机器对启动盘的分区格式有要求。如果你用dd命令制作启动盘后引导失败,可以尝试用mkfs.vfat重新格式化U盘,然后用dd写入。这个坑我在龙芯3A5000上踩过,折腾了好久才找到原因。
4.2 分区方案:别让默认设置坑了你
进入安装界面后,第一个关键决策是分区。银河麒麟的安装程序提供了自动分区和手动分区两种模式。自动分区适合快速体验,但如果你是要部署生产环境,强烈建议手动分区。
手动分区的核心原则是:根据实际用途分配空间。服务器版默认会建议你把大部分空间给/分区,但如果你要跑Docker或者存大量数据,建议单独分/var和/home。我一般会这样分:
/boot:1GB,放内核和引导文件/boot/efi:512MB,UEFI启动需要/:50GB到100GB,放系统和应用程序/var:剩余空间的30%到40%,Docker容器和日志都在这里/home:剩余空间,用户数据swap:内存的1到2倍,如果内存大于64GB可以适当减小
注意:银河麒麟V10服务器版默认使用ext4文件系统,如果你有特殊需求也可以选xfs。但注意,选xfs的话,后续扩容和快照操作和ext4不太一样,团队里如果没有熟悉xfs的人,建议还是用ext4。
分区的时候还有一个细节:飞腾和龙芯平台的机器,有些是UEFI启动,有些是Legacy启动。UEFI启动必须要有/boot/efi分区,而且格式必须是FAT32。如果你在UEFI模式下没有分/boot/efi,安装程序会报错。
4.3 软件包选择与root密码设置
分区完成后,安装程序会让你选择要安装的软件包。服务器版默认是最小化安装,只装基本系统。如果你需要图形界面,可以勾选“带GUI的服务器”选项。但我要提醒一句:服务器版装GUI会引入大量依赖,如果你只是偶尔需要图形化操作,不如装完系统后用命令行工具解决,或者单独装一个轻量级的桌面环境。
root密码设置环节,银河麒麟V10默认要求密码复杂度达到一定标准:至少8位,包含大小写字母、数字和特殊字符。如果你设的密码太简单,安装程序会拒绝。这个策略在生产环境里是好事,但在测试环境里有时候会觉得麻烦。如果你确实需要简单密码,可以在安装完成后修改密码策略,但生产环境不建议这么做。
安装过程大概需要15到30分钟,取决于机器性能和ISO大小。安装完成后重启,拔掉U盘,就能进入系统了。
5. 装完系统后的第一件事:网络和基础配置
5.1 网络配置:静态IP和双网卡场景
银河麒麟V10服务器版默认使用NetworkManager管理网络。装完系统后第一件事就是配网络,否则你连软件都装不了。
查看网卡列表:
nmcli device status如果看到网卡状态是disconnected,说明还没配置。配置静态IP的命令:
nmcli connection add type ethernet con-name eth0 ifname eth0 ip4 192.168.1.100/24 gw4 192.168.1.1 nmcli connection modify eth0 ipv4.dns "223.5.5.5 114.114.114.114" nmcli connection up eth0如果你需要配置两个IP(比如一个内网一个外网),可以在同一个网卡上添加多个IP地址:
nmcli connection modify eth0 +ipv4.addresses "10.0.0.100/24" nmcli connection up eth0这个操作在工控场景里很常见,比如龙芯2K3000的AFC系统,可能需要一个网口连业务网,一个网口连监控网。
5.2 软件源配置与离线安装准备
银河麒麟V10的软件源配置和CentOS/RHEL类似,但有一些差异。系统默认的yum源指向麒麟官方的镜像站,如果你在内网环境,需要把源改成内网的镜像地址。
查看当前源配置:
cat /etc/yum.repos.d/kylin.repo如果要离线安装软件,比如Nginx,你需要提前在有网的机器上下载好RPM包及其依赖。可以用yumdownloader工具:
yumdownloader --resolve --destdir=/tmp/nginx-packages nginx--resolve参数会自动下载所有依赖包。下载完成后,把整个目录拷到内网机器上,用rpm -ivh *.rpm批量安装。但要注意依赖顺序,有时候需要多试几次或者用--nodeps跳过依赖检查(不推荐,除非你确定依赖已经满足)。
提示:银河麒麟V10 SP3的软件源里,有些包的版本和SP2不一样。如果你从SP2升级到SP3,之前下载的离线包可能不兼容。建议在目标系统上直接下载对应的离线包,不要跨版本混用。
5.3 常用系统配置的快速设置
装完系统后,有几个配置我建议第一时间做掉:
修改普通用户密码:银河麒麟默认创建的用户密码可以用passwd命令修改。如果你忘了普通用户密码但记得root密码,可以用root登录后执行passwd username来重置。如果root密码也忘了,就需要进单用户模式重置,这个操作在银河麒麟V10上和CentOS类似,在GRUB菜单里按e编辑启动参数,在linux行末尾加init=/bin/bash,然后mount -o remount,rw /,再执行passwd root。
配置SSH:服务器版默认可能没有开启SSH,或者SSH版本较旧。检查SSH状态:
systemctl status sshd如果没有安装,用yum install openssh-server安装。如果需要升级SSH版本(有些安全扫描会要求),需要下载新版本的源码编译安装,这个过程比较繁琐,建议在测试环境先验证。
安装字体:银河麒麟V10的字体安装位置和普通Linux一样,把字体文件拷到/usr/share/fonts/目录下,然后执行fc-cache -fv刷新字体缓存。卸载字体就是删除对应的文件再刷新缓存。
磁盘突然空白的问题:有用户反馈银河麒麟系统磁盘突然空白了,这通常是文件系统损坏或者挂载问题。先用lsblk和df -h确认磁盘和分区状态,如果分区还在但挂载点空了,尝试mount -a重新挂载。如果文件系统损坏,可能需要fsck修复,但操作前一定要备份数据。
6. 那些官方文档不会告诉你的踩坑经验
6.1 显卡和无线网卡的兼容性问题
银河麒麟V10对某些硬件的支持还不够完善,尤其是桌面版。我遇到过装完系统后无法调节屏幕亮度、无法捕获屏幕截图、WiFi无法使用等问题。
无线网卡方面,Intel AX211和AX210是比较常见的型号,但银河麒麟V10默认内核可能不带这两个网卡的驱动。解决办法是:先通过有线网络连上网,然后更新内核到较新版本,或者手动编译安装驱动。具体操作是下载Intel官方提供的Linux驱动源码,编译后insmod加载。这个过程需要内核头文件,确保kernel-devel包已经安装。
屏幕截图无法捕获的问题,通常是桌面环境的截图工具和显卡驱动不兼容。可以尝试换一个截图工具,比如gnome-screenshot或者scrot。如果都不行,可能是Wayland和X11的兼容性问题,可以在登录界面切换到X11会话试试。
6.2 打印机和外部设备的识别问题
银河麒麟系统发现不了打印机,这个在办公场景里很常见。首先确认打印机是否支持Linux,然后检查CUPS服务是否运行:
systemctl status cups如果CUPS没装,用yum install cups安装。然后通过浏览器访问http://localhost:631进入CUPS管理界面添加打印机。如果打印机是网络打印机,确保网络连通;如果是USB打印机,检查lsusb是否能识别到设备。
还有一个坑:有些打印机的Linux驱动只有deb包,没有rpm包。这种情况下可以用alien工具把deb转成rpm,但转换后的包不一定能正常工作,最好还是找厂商要rpm驱动或者用通用驱动。
6.3 虚拟化环境下的特殊处理
在银河麒麟V10上装虚拟机(比如VMware Workstation或者VirtualBox),或者把银河麒麟装在虚拟机里,都有一些特殊注意事项。
如果是把银河麒麟装在VMware里,需要安装open-vm-tools或者VMware官方的vmware-tools。银河麒麟V10的源里有open-vm-tools,直接yum install open-vm-tools就行。但如果是要装VMware官方的tools,需要注意内核版本兼容性,有时候需要打补丁。
如果是在银河麒麟上装KVM虚拟机,需要确认CPU是否支持虚拟化(egrep -c '(vmx|svm)' /proc/cpuinfo,输出大于0就支持),然后安装qemu-kvm、libvirt等包。飞腾和龙芯平台的虚拟化支持情况不太一样,飞腾对KVM的支持比较好,龙芯的虚拟化支持还在完善中,建议先在测试环境验证。
6.4 GRUB密码重置和单用户模式
GRUB密码重置是运维常见操作。银河麒麟V10的GRUB配置和CentOS类似,如果忘了GRUB密码,可以用启动盘引导进入救援模式,然后修改/boot/grub2/grub.cfg或者/etc/grub.d/下的配置文件。
单用户模式的进入方法和前面提到的root密码重置类似:在GRUB菜单按e,找到linux开头的那一行,在末尾加single或者init=/bin/bash,然后Ctrl+X启动。进入后需要mount -o remount,rw /把根分区重新挂载为可写,才能修改密码。
注意:银河麒麟V10 SP3对GRUB的安全性做了一些增强,某些版本可能默认禁用了编辑启动参数的功能。如果按
e没反应,需要在BIOS里检查安全启动(Secure Boot)是否开启,关闭安全启动后再试。
7. 几个高频场景的快速参考
7.1 离线安装Nginx的完整流程
内网环境装Nginx是高频需求。完整流程如下:
在有网的机器上,确认和目标系统相同的版本和架构,然后下载:
yumdownloader --resolve --destdir=/tmp/nginx-offline nginx把/tmp/nginx-offline目录打包,拷到内网机器上,然后:
cd /tmp/nginx-offline rpm -ivh *.rpm如果报依赖错误,根据错误提示单独下载缺失的依赖包。安装完成后,启动Nginx:
systemctl start nginx systemctl enable nginx检查是否成功:
curl http://localhost如果返回Nginx的欢迎页面,说明安装成功。
7.2 Docker在龙芯平台的安装要点
龙芯平台的Docker安装和x86平台有些差异。首先确认内核版本,龙芯3A5000/3A6000的内核一般都在4.19以上,满足Docker的要求。然后下载对应LoongArch架构的Docker安装包。
银河麒麟V10的源里可能没有Docker的LoongArch版本,需要从Docker官方或者国内镜像站下载。安装完成后,启动Docker服务:
systemctl start docker systemctl enable docker验证:
docker run hello-world如果拉取镜像慢,可以配置国内镜像加速器。但注意,龙芯平台的Docker镜像需要是LoongArch架构的,x86的镜像跑不了。
7.3 系统备份与恢复的简易方案
生产环境一定要做备份。银河麒麟V10可以用tar做全量备份,也可以用rsync做增量备份。最简单的全量备份命令:
tar -czvpPf /backup/kylin-backup-$(date +%Y%m%d).tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/backup /这个命令会把整个系统打包,排除/proc、/sys、/dev和备份目录本身。恢复的时候用启动盘引导,挂载根分区,然后解压回去。
但要注意,这种备份方式不适合频繁操作,因为全量备份文件很大。生产环境建议用专业的备份工具,或者至少用rsync做差异备份。
8. 最后聊几句实际项目中的体会
做国产化适配这几年,我最大的感受是:银河麒麟V10的生态在快速完善,但和成熟的商业发行版相比,还是有一些“需要自己动手”的地方。这不是坏事,反而意味着你在这个领域积累的经验更有价值。
我建议每个做麒麟适配的团队,都建一个自己的“踩坑文档”,把每次遇到的问题、排查过程、解决方案记下来。比如飞腾D2000上装某个版本的驱动会冲突,龙芯2K3000上Docker的网络模式需要特殊配置,这些细节官方文档不一定有,但对你自己的项目至关重要。
另外,版本管理要严格。银河麒麟V10的SP1、SP2、SP3之间差异不小,测试环境和生产环境一定要用同一个SP版本。我见过团队测试用SP2,生产用SP3,结果应用跑不起来,排查了两天才发现是系统版本差异导致的。
最后,如果你在找镜像的时候实在找不到官方渠道,可以关注麒麟软件的技术社区和公众号,他们经常会发布一些版本更新和下载指引。但切记,一定要从官方或者可信渠道获取镜像,不要用来路不明的ISO,安全风险太大。