2024-05-22 22:32:43 +08:00
<!-- markdownlint - disable MD028 MD033 MD045 -->
2023-09-21 00:12:35 +08:00
2024-05-22 22:32:43 +08:00
# reinstall
2023-12-04 22:19:59 +08:00
2024-08-20 23:52:55 +08:00
[![Codacy ](https://img.shields.io/codacy/grade/dc679a17751448628fe6d8ac35e26eed?logo=Codacy&label=Codacy&style=flat-square )](https://app.codacy.com/gh/bin456789/reinstall/dashboard)
[![CodeFactor ](https://img.shields.io/codefactor/grade/github/bin456789/reinstall?logo=CodeFactor&logoColor=white&label=CodeFactor&style=flat-square )](https://www.codefactor.io/repository/github/bin456789/reinstall)
[![Lines of Code ](https://aschey.tech/tokei/github/bin456789/reinstall?category=code&label=Lines%20of%20Code&style=flat-square )](https://github.com/aschey/vercel-tokei)
2023-12-16 16:41:34 +08:00
2024-05-22 22:32:43 +08:00
一键重装脚本 [English ](README.en.md )
2023-08-12 21:11:46 +08:00
2023-09-21 00:12:35 +08:00
## 亮点
2024-08-19 00:42:12 +08:00
- 支持安装 17 种常见 Linux 发行版
2024-08-20 23:52:55 +08:00
- 支持安装官方原版 Windows iso, 自动查找 iso 链接、集成虚拟机驱动
- 支持任意方向重装,即 `Linux to Linux` 、`Linux to Windows` 、`Windows to Windows` 、`Windows to Linux`
- 无需填写 IP 参数,自动识别动静态,支持 `/32` 、`/128` 、`网关不在子网范围内` 、`纯 IPv6` 、`双网卡` 等特殊网络
- 专门适配低配小鸡,比官方 netboot 需要更少的内存
- 全程用分区表 ID 识别硬盘,确保不会写错硬盘
- 支持 BIOS、EFI 引导,支持 ARM
2024-08-07 21:46:45 +08:00
- 不含自制包,所有资源均实时从源站点获得
2023-08-12 21:11:46 +08:00
- 有很多注释
2024-05-03 21:37:07 +08:00
## 配置要求
2024-07-20 22:17:49 +08:00
| 目标系统 | 版本 | 内存 | 硬盘 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | --------- | ------------ |
| < img width = "16" height = "16" src = "https://www.alpinelinux.org/alpine-logo.ico" / > Alpine | 3.17, 3.18, 3.19, 3.20 | 256 MB | 1 GB |
| < img width = "16" height = "16" src = "https://www.debian.org/favicon.ico" / > Debian | 9, 10, 11, 12 | 256 MB | 1 ~ 1.5 GB ^ |
| < img width = "16" height = "16" src = "https://github.com/bin456789/reinstall/assets/7548515/f74b3d5b-085f-4df3-bcc9-8a9bd80bb16d" / > Kali | 滚动 | 256 MB | 1 ~ 1.5 GB ^ |
2024-07-23 00:15:22 +08:00
| < img width = "16" height = "16" src = "https://netplan.readthedocs.io/en/latest/_static/favicon.png" /> Ubuntu | 16.04, 18.04, 20.04, 22.04, 24.04 | 512 MB \* | 2 GB |
2024-07-20 22:17:49 +08:00
| < img width = "16" height = "16" src = "https://www.centos.org/assets/img/favicon.png" /> CentOS | 9 | 512 MB \* | 5 GB |
| < img width = "16" height = "16" src = "https://img.alicdn.com/imgextra/i1/O1CN01oJnJZg1yK4RzI4Rx2_!!6000000006559-2-tps-118-118.png" /> Anolis | 7, 8 | 512 MB \* | 5 GB |
| < img width = "16" height = "16" src = "https://www.redhat.com/favicon.ico" /> RedHat < img width = "16" height = "16" src = "https://almalinux.org/fav/favicon.ico" /> Alma < img width = "16" height = "16" src = "https://rockylinux.org/favicon.png" /> Rocky | 8, 9 | 512 MB \* | 5 GB |
| < img width = "16" height = "16" src = "https://opencloudos.org/qq.ico" /> OpenCloudOS | 8, 9 | 512 MB \* | 5 GB |
| < img width = "16" height = "16" src = "https://www.oracle.com/asset/web/favicons/favicon-32.png" /> Oracle | 7, 8, 9 | 512 MB \* | 5 GB |
| < img width = "16" height = "16" src = "https://fedoraproject.org/favicon.ico" /> Fedora | 39, 40 | 512 MB \* | 5 GB |
| < img width = "16" height = "16" src = "https://www.openeuler.org/favicon.ico" /> openEuler | 20.03, 22.03, 24.03 | 512 MB \* | 5 GB |
| < img width = "16" height = "16" src = "https://static.opensuse.org/favicon.ico" /> openSUSE | 15.5, 15.6, Tumbleweed (滚动) | 512 MB \* | 5 GB |
2024-08-19 00:42:12 +08:00
| < img width = "16" height = "16" src = "https://nixos.org/_astro/flake-blue.Bf2X2kC4_Z1yqDoT.svg" / > NixOS | 24.05 | 512 MB | 5 GB |
2024-07-20 22:17:49 +08:00
| < img width = "16" height = "16" src = "https://archlinux.org/static/favicon.png" / > Arch | 滚动 | 512 MB | 5 GB |
| < img width = "16" height = "16" src = "https://www.gentoo.org/assets/img/logo/gentoo-g.png" / > Gentoo | 滚动 | 512 MB | 5 GB |
| < img width = "16" height = "16" src = "https://blogs.windows.com/wp-content/uploads/prod/2022/09/cropped-Windows11IconTransparent512-32x32.png" / > Windows (DD) | 任何 | 512 MB | 取决于镜像 |
| < img width = "16" height = "16" src = "https://blogs.windows.com/wp-content/uploads/prod/2022/09/cropped-Windows11IconTransparent512-32x32.png" / > Windows (ISO) | Vista, 7, 8.x (Server 2008 ~ 2012 R2) | 512 MB | 25 GB |
| < img width = "16" height = "16" src = "https://blogs.windows.com/wp-content/uploads/prod/2022/09/cropped-Windows11IconTransparent512-32x32.png" / > Windows (ISO) | 10, 11 (Server 2016 ~ 2025) | 1 GB | 25 GB |
2024-05-22 22:32:43 +08:00
(\*) 表示使用云镜像安装,非传统网络安装
2024-05-03 21:37:07 +08:00
(^) 需要 256 MB 内存 + 1.5 GB 硬盘,或 512 MB 内存 + 1 GB 硬盘
2024-05-22 22:32:43 +08:00
> [!WARNING]
> ❌ 本脚本不支持 OpenVZ、LXC 虚拟机
>
> 请改用 <https://github.com/LloydAsp/OsMutation>
## 下载(当前系统是 <img width="20" height="20" src="https://www.kernel.org/theme/images/logos/favicon.png" /> Linux)
国外服务器:
2023-08-12 21:11:46 +08:00
2023-10-22 23:02:48 +08:00
```bash
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh
```
2023-08-12 21:11:46 +08:00
2024-05-22 22:32:43 +08:00
国内服务器:
2023-09-21 00:12:35 +08:00
2023-10-22 23:02:48 +08:00
```bash
2024-07-20 21:14:03 +08:00
curl -O https://jihulab.com/bin456789/reinstall/-/raw/main/reinstall.sh
2023-10-22 23:02:48 +08:00
```
2023-09-21 00:12:35 +08:00
2024-05-22 22:32:43 +08:00
## 下载(当前系统是 <img width="20" height="20" src="https://blogs.windows.com/wp-content/uploads/prod/2022/09/cropped-Windows11IconTransparent512-32x32.png" /> Windows)
> [!IMPORTANT]
> 请先关闭 `Windows Defender` 的 `实时保护` 功能。该功能会阻止 `certutil` 下载任何文件。
< details >
< summary > 😢还是无法下载?< / summary >
### 可尝试以下几种方法
1. Windows 7 安装此补丁启用 TLS 1.2
< https: / / aka . ms / easyfix51044 >
2. 更新 SSL 根证书
2024-01-27 23:08:34 +08:00
2024-05-22 22:32:43 +08:00
```batch
certutil -generateSSTFromWU root.sst
certutil -addstore Root root.sst
```
3. 手动下载,通过 `远程桌面` 复制这两个文件
< https: / / raw . githubusercontent . com / bin456789 / reinstall / main / reinstall . bat >
2024-01-28 22:46:38 +08:00
2024-05-22 22:32:43 +08:00
< https: / / raw . githubusercontent . com / bin456789 / reinstall / main / reinstall . sh >
< / details >
2024-01-27 23:08:34 +08:00
2024-05-22 22:32:43 +08:00
国外服务器:
2024-01-27 23:08:34 +08:00
```batch
certutil -urlcache -f -split https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat
```
2024-05-22 22:32:43 +08:00
国内服务器:
2024-01-27 23:08:34 +08:00
```batch
2024-07-20 21:14:03 +08:00
certutil -urlcache -f -split https://jihulab.com/bin456789/reinstall/-/raw/main/reinstall.bat
2024-01-27 23:08:34 +08:00
```
## 使用
2024-08-20 23:52:55 +08:00
**所有功能** 都可在 Linux / Windows 下运行
- Linux 下运行 `bash reinstall.sh`
- Windows 下运行 `reinstall.bat`
2024-01-28 22:46:38 +08:00
2024-05-22 22:32:43 +08:00
### 功能 1: 安装 <img width="16" height="16" src="https://www.kernel.org/theme/images/logos/favicon.png" /> Linux
2023-08-12 21:11:46 +08:00
2024-04-25 22:43:11 +08:00
- 不输入版本号,则安装最新版
2024-05-22 22:32:43 +08:00
- 不含 boot 分区( Fedora 例外),不含 swap 分区,最大化利用磁盘空间
2024-08-20 23:52:55 +08:00
- 在虚拟机上,会自动安装合适的官方精简内核
- 安装 Red Hat 需填写 < https: // access . redhat . com / downloads / content / rhel > 得到的 `qcow2` 镜像链接
- 用户名 `root` 密码 `123@@@` ,可能首次开机几分钟后密码才生效
2024-07-07 17:07:22 +08:00
2023-10-22 23:02:48 +08:00
```bash
2024-07-09 23:33:22 +08:00
bash reinstall.sh centos 9
anolis 7|8
alma 8|9
rocky 8|9
2024-08-20 23:52:55 +08:00
redhat 8|9 --img='http://xxx.com/xxx.qcow2'
2024-07-09 23:33:22 +08:00
opencloudos 8|9
2024-07-20 22:17:49 +08:00
oracle 7|8|9
2024-07-09 23:33:22 +08:00
fedora 39|40
2024-08-19 00:42:12 +08:00
nixos 24.05
2024-07-14 22:11:53 +08:00
debian 9|10|11|12
2024-07-09 23:33:22 +08:00
openeuler 20.03|22.03|24.03
alpine 3.17|3.18|3.19|3.20
opensuse 15.5|15.6|tumbleweed
2024-08-11 23:05:53 +08:00
ubuntu 16.04|18.04|20.04|22.04|24.04 [--minimal]
2024-05-03 21:37:07 +08:00
kali
2024-03-31 00:32:05 +08:00
arch
2024-03-28 00:16:05 +08:00
gentoo
2023-10-22 23:02:48 +08:00
```
2023-09-21 00:12:35 +08:00
2024-08-20 23:52:55 +08:00
> [!TIP]
> 安装 Debian / Kali 时, x86 可通过后台 VNC 查看安装进度, ARM 可通过串行控制台查看安装进度。
>
> 安装其它系统时, 可通过多种方式( SSH、HTTP 80 端口、后台 VNC、串行控制台) 查看安装进度。
> 即使安装过程出错,也能通过 SSH 安装到 Alpine。
2023-11-04 14:37:22 +08:00
2024-08-20 23:52:55 +08:00
### 功能 2: DD
2023-11-04 14:37:22 +08:00
2024-08-20 23:52:55 +08:00
- 支持 `gzip` 、`xz` 格式的镜像
- DD Windows 镜像时,会自动扩展系统盘。静态的机器会自动配置好 IP, 可能首次开机几分钟后才生效
2024-05-22 22:32:43 +08:00
2023-11-04 14:37:22 +08:00
```bash
2024-01-27 23:08:34 +08:00
bash reinstall.sh dd --img https://example.com/xxx.xz
2023-11-04 14:37:22 +08:00
```
2024-08-20 23:52:55 +08:00
> [!TIP]
> 可通过多种方式( SSH、HTTP 80 端口、后台 VNC、串行控制台) 查看安装进度。
> 即使安装过程出错,也能通过 SSH 安装到 Alpine。
2024-05-22 22:32:43 +08:00
### 功能 3: 重启到 <img width="16" height="16" src="https://www.alpinelinux.org/alpine-logo.ico" /> Alpine 救援系统 (Live OS)
2023-11-09 23:23:33 +08:00
2024-08-20 23:52:55 +08:00
- 可用 ssh 连接,进行手动 DD、修改分区、手动安装 Alpine / Arch / Gentoo 等操作
- 用户名 `root` 密码 `123@@@`
2024-01-27 23:08:34 +08:00
- 如果没有修改硬盘内容,再次重启将回到原系统
2023-11-09 23:23:33 +08:00
```bash
bash reinstall.sh alpine --hold=1
```
2024-05-22 22:32:43 +08:00
### 功能 4: 重启到 <img width="16" height="16" src="https://netboot.xyz/img/favicon.ico" /> netboot.xyz
2024-01-27 23:08:34 +08:00
2024-05-03 21:37:07 +08:00
- 可使用商家后台 VNC 安装 [更多系统 ](https://github.com/netbootxyz/netboot.xyz?tab=readme-ov-file#what-operating-systems-are-currently-available-on-netbootxyz )
2024-04-06 00:16:10 +08:00
- 如果没有修改硬盘内容,再次重启将回到原系统
2023-11-09 23:23:33 +08:00
```bash
bash reinstall.sh netboot.xyz
```
2024-01-27 23:08:34 +08:00
![netboot.xyz ](https://netboot.xyz/images/netboot.xyz.gif )
2024-05-22 22:32:43 +08:00
### 功能 5: 安装 <img width="16" height="16" src="https://blogs.windows.com/wp-content/uploads/prod/2022/09/cropped-Windows11IconTransparent512-32x32.png" /> Windows ISO
2024-08-20 23:52:55 +08:00
- 用户名 `administrator` 密码 `123@@@`
- 如果远程登录失败,尝试使用用户名 `.\administrator`
- 静态机器会自动配置好 IP, 可能首次开机几分钟后才生效
2024-05-22 22:32:43 +08:00
2024-08-20 23:52:55 +08:00
#### 方法 1: 让脚本自动查找 ISO
2023-08-12 21:11:46 +08:00
2024-08-20 23:52:55 +08:00
- 脚本会从 < https: // massgrave . dev / genuine-installation-media . html > 查找 iso, 该网站提供的 iso 都是官方原版
2024-02-02 00:49:24 +08:00
2023-10-22 23:02:48 +08:00
```bash
bash reinstall.sh windows \
2024-04-05 22:45:59 +08:00
--image-name 'Windows 10 Enterprise LTSC 2021' \
2024-05-03 21:37:07 +08:00
--lang zh-cn
2024-04-05 22:45:59 +08:00
```
2024-08-20 23:52:55 +08:00
#### 方法 2: 自行指定 ISO 连接
- 如果不知道 `--image-name` ,可以随便填,重启后连接 SSH ,根据错误提示重新输入
2024-04-05 22:45:59 +08:00
```bash
bash reinstall.sh windows \
2024-04-10 21:41:46 +08:00
--image-name 'Windows 10 Enterprise LTSC 2021' \
2024-05-03 21:37:07 +08:00
--iso 'https://drive.massgrave.dev/en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96.iso'
2023-10-22 23:02:48 +08:00
```
2024-08-20 23:52:55 +08:00
> [!IMPORTANT]
> 注意参数两边有引号。
2024-05-22 22:32:43 +08:00
< details >
< summary > 以下网站可找到 iso 链接< / summary >
2024-08-20 23:52:55 +08:00
- < https: // massgrave . dev / genuine-installation-media . html > (推荐, iso 来自官方,每月更新,包含最新补丁)
- < https: // www . microsoft . com / software-download / windows10 > (需用手机 User-Agent 打开)
- < https: // www . microsoft . com / software-download / windows11 >
- < https: // www . microsoft . com / software-download / windowsinsiderpreviewiso > (预览版)
- < https: // www . microsoft . com / evalcenter / download-windows-10-enterprise >
- < https: // www . microsoft . com / evalcenter / download-windows-11-enterprise >
- < https: // www . microsoft . com / evalcenter / download-windows-11-iot-enterprise-ltsc >
- < https: // www . microsoft . com / evalcenter / download-windows-server-2012-r2 >
- < https: // www . microsoft . com / evalcenter / download-windows-server-2016 >
- < https: // www . microsoft . com / evalcenter / download-windows-server-2019 >
- < https: // www . microsoft . com / evalcenter / download-windows-server-2022 >
- < https: // www . microsoft . com / evalcenter / download-windows-server-2025 >
2024-05-22 22:32:43 +08:00
< / details >
2024-02-02 00:49:24 +08:00
![Installing Windows ](https://github.com/bin456789/reinstall/assets/7548515/07c1aea2-1ce3-4967-904f-aaf9d6eec3f7 )
2024-01-27 23:08:34 +08:00
2024-05-22 22:32:43 +08:00
#### 参数说明
2023-09-21 00:12:35 +08:00
2024-04-05 22:45:59 +08:00
`--image-name` 指定要安装的映像,不区分大小写,常用映像有:
2023-08-12 21:11:46 +08:00
2023-11-04 14:37:22 +08:00
```text
2024-02-02 00:49:24 +08:00
Windows 7 Ultimate
Windows 10 Enterprise LTSC 2021
Windows 11 Pro
Windows Server 2022 SERVERDATACENTER
2023-11-01 22:19:48 +08:00
```
2023-11-04 14:37:22 +08:00
使用 `Dism++` 文件菜单 > 打开映像文件,选择要安装的 iso, 可以得到映像名称
![image-name ](https://github.com/bin456789/reinstall/assets/7548515/5aae0a9b-61e2-4f66-bb98-d470a6beaac2 )
2024-05-22 22:32:43 +08:00
#### 支持的系统
2023-08-12 21:11:46 +08:00
2024-05-22 22:32:43 +08:00
- Windows (Vista ~ 11)
2024-06-03 21:44:36 +08:00
- Windows Server (2008 ~ 2025)
2024-07-07 17:07:22 +08:00
- Windows Server Essentials \*
- Windows Server (Semi) Annual Channel \*
- Hyper-V Server \*
- Azure Stack HCI \*
2024-06-14 23:41:15 +08:00
\* 需填写 iso 链接
2023-08-12 21:11:46 +08:00
2024-05-22 22:32:43 +08:00
#### 脚本会按需安装以下驱动
2023-09-21 00:12:35 +08:00
2024-05-22 22:32:43 +08:00
- KVM ([Virtio ](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/ ))
2024-08-11 23:05:53 +08:00
- XEN ([XEN ](https://xenproject.org/windows-pv-drivers/ )、[Citrix ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Upgrading_PV_drivers.html#win2008-citrix-upgrade )、[AWS ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/xen-drivers-overview.html ))
- AWS ([ENA 网卡 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-driver-releases-windows.html )、[NVME 存储控制器 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-driver-version-history.html ))
2024-05-22 22:32:43 +08:00
- GCP ([gVNIC 网卡 ](https://cloud.google.com/compute/docs/networking/using-gvnic )、[GGA 显卡 ](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display ))
- Azure ([MANA 网卡 ](https://learn.microsoft.com/azure/virtual-network/accelerated-networking-mana-windows ))
2024-02-02 00:49:24 +08:00
2024-05-22 22:32:43 +08:00
> [!WARNING]
> Vista (Server 2008) 和 32 位系统可能会缺少驱动
2023-09-21 00:12:35 +08:00
2024-05-22 22:32:43 +08:00
> [!WARNING]
> 未开启 CSM 的 EFI 机器,无法安装 Windows 7 (Server 2008 R2)
2023-08-12 21:11:46 +08:00
2024-05-22 22:32:43 +08:00
> [!WARNING]
> 支持 ARM 机器安装 Windows 11, 仅限于 Hyper-V (Azure) ,不支持 KVM (甲骨文云)
2023-10-22 23:02:48 +08:00
2024-05-22 22:32:43 +08:00
> [!WARNING]
> Windows 10 LTSC 2021 中文版镜像 `zh-cn_windows_10_enterprise_ltsc_2021_x64_dvd_033b7312.iso` 的 `wsappx` 进程会长期占用 CPU
>
> 解决方法是更新系统补丁,或者手动安装 `VCLibs` 库 <https://www.google.com/search?q=ltsc+wsappx>
2023-09-21 00:12:35 +08:00
2024-07-14 22:11:53 +08:00
## 如何修改脚本
1. Fork 本仓库
2024-08-19 00:42:12 +08:00
2. 修改 `reinstall.sh` 和 `reinstall.bat` 开头的 `confhome` 和 `confhome_cn`
2024-07-14 22:11:53 +08:00
3. 修改其它代码
2024-02-02 00:49:24 +08:00
## 感谢
感谢以下商家提供白嫖机器
2024-01-19 11:55:35 +08:00
2024-02-02 00:49:24 +08:00
[![Oracle Cloud ](https://github.com/bin456789/reinstall/assets/7548515/8b430ed4-8344-4f96-b4da-c2bda031cc90 )](https://www.oracle.com/cloud/)
2024-03-01 00:22:04 +08:00
[![DartNode ](https://github.com/bin456789/reinstall/assets/7548515/435d6740-bcdd-4f3a-a196-2f60ae397f17 )](https://dartnode.com/)