云服务器 Linux 手动 DD 安装第三方 Linux 发行版:原理与实战
本文最后更新于 2025年6月10日 上午
云厂商提供的 Linux 服务器,发行版本总是比较有限,好在我们可以使用 dd 的方式:在“救援模式”上,手动安装第三方 Linux 发行版;亦或者挂载云硬盘作为启动盘,装载 Linux 的 ISO 镜像对系统盘进行安装。 比如: 在腾讯云的轻量应用服务器上安装最新版本的 Kali Linux。
思路拆解
首先,我们安装系统,比如 Kali Linux、Ubuntu、Debian 等等。需要对系统的分区进行调整,但是在系统活跃时候,是无法对关键分区进行操作的。
所以,我们安装系统可以在系统还没启动的 Grub 上进行操作,也可以进入救援模式。两个模式下都可以对系统盘进行分区、格式化、挂载等,进而可以手动安装第三方 Linux 发行版。
进一步思考,在面对一个未挂载的系统磁盘,我们如何安装第三方 Linux 发行版呢?主要有两种方式:
- 救援模式直接 dd 安装云优化的 Linux 发行版。
- 挂载云硬盘并制作为启动盘,Grub 引导启动到云硬盘对系统盘安装。
第一种,救援模式可操作的磁盘有限(一般内存大小就是救援模式的磁盘大小),所以最好安装云优化的 Linux 发行版,或者挂载云硬盘,作为中继盘。
第二种,大部分的 Linux 发行版本都有 ISO 镜像,可以提前在可以操作的系统上,dd 云硬盘为启动盘,之后在目标服务器的Grub引导下,装载 Linux 的 ISO 镜像对系统盘进行安装。
flowchart LR
A[Linux dd Linux] --> B{目标系统是否为<br/>云优化版本?}
%% ========== 分支结构 ==========
B -->|是| 方式1
B -->|否| 方式2
subgraph 方式1[云优化安装方案]
direction TB
C{救援模式<br/>可用?}
C -->|是| D[直接DD写入<br/>云优化镜像]
C -->|否| E[通过netboot<br/>建立救援环境] --> D
D -->|自动完成| H[[系统配置]]
end
subgraph 方式2[ISO标准安装]
direction TB
F[挂载云硬盘] -->|有空云盘| G[DD全盘写入ISO镜像]
F[挂载云硬盘] -->|无空云盘| G1[下载ISO镜像]
G1 -->|获取云盘UUID| G2[提取内核地址写入GRUB]
G -->|重启进入grub| I[boot 启动盘]
G2 -->|重启进入grub| I
I --> H
end
H --> END([安装完成])
%% ========== 样式优化 ==========
classDef root fill:#e3f2fd,stroke:#1565c0,stroke-width:2px;
classDef decision fill:#ffecb3,stroke:#ffa000,stroke-dasharray: 3 3;
classDef cloud fill:#e8f5e9,stroke:#43a047;
classDef iso fill:#fff3e0,stroke:#fb8c00;
classDef action fill:#f3e5f5,stroke:#8e24aa;
classDef MULT fill:#e0f7fa,stroke:#00acc1,stroke-width:3px,stroke-dasharray: 5 5;
class A root;
class B decision;
class 方式1 cloud;
class 方式2 iso;
class C,D,E,F,G,G1,G2,I decision;
class H action;
class END MULT;
%% ========== 连接线优化 ==========
linkStyle 0,1 stroke:#616161,stroke-width:2px;
linkStyle 2,3,4,5,6,7 stroke:#42a5f5,stroke-width:2px;
linkStyle 8,9 stroke:#66bb6a,stroke-width:3px;
支持创作
制作教程不易,如果热心的小伙伴,想支持创作,可以加入我们的电圈(还可以解锁远程协助、好友位😃):
- Mintimate的电圈: https://afdian.com/a/mintimate
- Mintimate的微信赞赏码 👉 如果认为本教程对你很有帮助,可以请我喝咖啡 ☕

志同道合的小伙伴也是知音难觅。
- 开发者爱好群: 👉 如果你对云服务器、CDN、云数据库和Linux等云计算感兴趣,亦或者喜欢编程、设计、产品、运营等领域,欢迎加入我们的开发者爱好群,一起交流学习(目前可能就我一个人?🤔,毕竟才刚刚创建~)。

当然,也欢迎在B站、YouTube或微信公众号上关注我们:
- Bilibili: https://space.bilibili.com/355567627
- YouTube: https://www.youtube.com/@mintimate/featured
- 微信公众号: MintimateBlog

更多:
如果你也想使用腾讯云的轻量应用服务器;那么你可以使用博客的专属链接购买体验:
救援模式
救援模式(Rescue Mode)是 Linux 系统中的一种特殊模式,用于在系统出现故障时进行紧急修复或维护。救援模式通常用于修复系统文件损坏、驱动程序问题、分区损坏等问题。
其实换一个说法大家就更清晰了,救援模式就是 Windows 的 Windows PE(Windows Preinstallation Environment),可以让你在系统崩溃或者需要重装系统时,进入一个可以修复系统文件、驱动程序、分区等问题的环境。
一些云厂商的 Linux 服务器,就会提供救援模式,比如腾讯云的轻量应用服务器(Lighthouse)和云服务器(CVM):
进入后可以挂载服务器原系统分区,进行修复。
如果你的服务器没有救援模式,但是同样是使用 Grub 引导。那么你可以使用我的脚本,安装一个 netboot 版本的 Alpine:
1 |
|
重启后,Grub 下选择Alpine Linux Minimal
,即可进入救援模式。
云优化镜像
很多 Linux 发行版本,有提供云优化镜像,比如 Kali Linux、Ubuntu、Debian 等等。这些镜像,一般都会对系统进行一些优化,比如:禁用 swap、禁用透明大页、禁用透明磁盘加密等。格式多为qcow2、vmdk或raw,可直接上传至云平台使用
当然,为了下载方便,通常进行了归档压缩,所以下载的一般是 tar.xz 或者 tar.gz。
比如 Kali Linux 的云优化镜像,可以在 Kali 官网下载:
我们在救援模式,使用 dd 命令 配合 wget 即可安装:
1 |
|
因为是全盘 dd 覆写,所以比较耗时:
重启即可进入 Kali Linux 系统,记得后续开启 SSH 等服务。
部分镜像有预装云初始化工具(如cloud-init),会自动安装云厂商的全家桶。
云硬盘ISO
如果想安装桌面版本 Linux 发行版本镜像,或者镜像比较大,那么就需要挂载云硬盘作为启动盘,先把 ISO 镜像写入云硬盘作为启动盘; 通过 Grub 引导启动云硬盘,对系统盘进行安装。
或者也可以在救援模式下,使用 dd 命令二次把镜像写入系统盘;亦或者有挂载好的云硬盘,不想新购,可以直接下载并挂载 ISO 到 Grub ,之后对系统盘进行安装。
graph LR
A[挂载云硬盘作为启动盘] --> B[📥 下载目标系统ISO]
B --> C{选择安装方式?}
C -->|方案1: GRUB引导| D[🔧 修改GRUB菜单]
D --> E[💻 从GRUB启动ISO]
E --> F[⚙️ 安装系统到目标盘]
C -->|方案2: DD写入| G[💾 dd if=ISO of=/dev/云硬盘]
G --> H[🔄 dd if=/dev/云硬盘 of=/dev/系统盘]
H --> F
F --> I[✅ 完成系统重装]
%% 样式定义
style A fill:#4b8bf5,stroke:#333,color:white
style B fill:#4b8bf5,stroke:#333,color:white
style C fill:#ff9800,stroke:#333,stroke-width:3px
style D fill:#8bc34a,stroke:#333
style E fill:#8bc34a,stroke:#333
style G fill:#ff5722,stroke:#ff9800,color:#424242
style H fill:#ff5722,stroke:#333,color:#424242
style F fill:#607d8b,stroke:#333,color:white
style I fill:#4caf50,stroke:#333,color:white
classDef decision fill:#e8f5e9,stroke:#ff9800
class C decision
classDef grub fill:#e8f5e9,stroke:#8bc34a
class D,E grub
classDef dd fill:#ffebee,stroke:#ff5722
class G,H dd
linkStyle 0,1,2,3,4,5 stroke:#666,stroke-width:2px
linkStyle 2,5 stroke-dasharray: 0
依旧以腾讯云的轻量应用服务器安装 Kali Linux 为例,不同的是这次我们安装的是桌面版 Kali Linux(4G+ 镜像)演示 Grub 引导启动盘来安装。
首先,购买一块轻量云硬盘,不用挂载,只需要绑定即可:
之后关联挂载到轻量应用服务器上(不需要进行初始化):
在服务器上下载 Kali 的 ISO 文件并使用 dd 命令,直接写入云硬盘:
1 |
|
在 120s 内进入控制台的 VNC(相当于串口,如果 120s 过了,进入系统了,就重新 reboot -f),在 Grub 引导出现的时候:
按c
,然后输出:
1 |
|
最后,按提示安装系统即可:
最后的效果:
注意,后续你还需要做:
- 开启 SSH 服务,默认是关闭的。
- 设置允许密码登录和 SSH 默认启动。
END
好啦,感谢阅读,如果觉得不错,欢迎点赞、评论、转发。如果有什么问题,欢迎在评论区留言。
其实,还有很多优秀的第三方工具,比如: reinstall可以在 Linux 上 dd 为 Windows 或者 Windows 上 dd 为 Linux,原理就是新建救援模式。不过脚本比较复杂。
我认为,Linux dd Linux,使用救援模式或者 Grub 引导云硬盘就足够了,安全可靠,知道自己每一步在做什么。个人更推荐救援模式直接安装云优化版本镜像,更轻量,更适合云服务器“体质”
哈哈,我也有做一下好玩的尝试,比如用本文的方法,在腾讯云的轻量应用服务器上安装 Kali 到数据盘,并开机默认引导到数据盘。相当于直接把 Kali Linux 安装到数据盘,而不是安装到系统盘。
你又是如何安装 Linux 的呢?欢迎留言分享。