# reinstall
[![Codacy](https://img.shields.io/codacy/grade/dc679a17751448628fe6d8ac35e26eed?logo=Codacy&label=Codacy)](https://app.codacy.com/gh/bin456789/reinstall/dashboard)
[![CodeFactor](https://img.shields.io/codefactor/grade/github/bin456789/reinstall?logo=CodeFactor&logoColor=white&label=CodeFactor)](https://www.codefactor.io/repository/github/bin456789/reinstall)
[![Lines of Code](https://aschey.tech/tokei/github/bin456789/reinstall?category=code&label=Lines%20of%20Code)](https://github.com/aschey/vercel-tokei)
一键重装脚本 [English](README.en.md)
## 亮点
- 支持安装 12 种常见 Linux 发行版
- 支持用官方原版 iso 安装 Windows,并且脚本会自动查找 iso 和驱动
- 支持任意方向重装,也就是支持 `Linux to Linux`、`Linux to Win`、`Win to Win`、`Win to Linux`
- 专门适配低配小鸡,解决内存过少导致无法进行网络安装
- 自动判断动静态 IPv4 / IPv6,无需填写 IP / 掩码 / 网关
- 支持 ARM,支持 BIOS、EFI 引导,原系统支持 LVM、BTRFS
- 不含第三方自制包,所有资源均实时从源站点获得
- 有很多注释
## 配置要求
| 目标系统 | 版本 | 内存 | 硬盘 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | --------- | ------------ |
| Alpine | 3.17, 3.18, 3.19, 3.20 | 256 MB | 1 GB |
| Debian | 10, 11, 12 | 256 MB | 1 ~ 1.5 GB ^ |
| Kali | 滚动 | 256 MB | 1 ~ 1.5 GB ^ |
| Ubuntu | 20.04, 22.04, 24.04 | 512 MB \* | 2 GB |
| CentOS | 7, 9 (stream) | 512 MB \* | 5 GB |
| Oracle | 7, 8, 9 | 512 MB \* | 5 GB |
| Alma | 8, 9 | 512 MB \* | 5 GB |
| Rocky | 8, 9 | 512 MB \* | 5 GB |
| Fedora | 39, 40 | 512 MB \* | 5 GB |
| openSUSE | 15.5, 15.6, Tumbleweed (滚动) | 512 MB \* | 5 GB |
| Arch | 滚动 | 512 MB | 5 GB |
| Gentoo | 滚动 | 512 MB | 5 GB |
| Windows (DD) | 任何 | 512 MB | 取决于镜像 |
| Windows (ISO) | Vista, 7, 8.x (Server 2008 ~ 2012 R2) | 512 MB | 25 GB |
| Windows (ISO) | 10, 11 (Server 2016 ~ 2025) | 1 GB | 25 GB |
(\*) 表示使用云镜像安装,非传统网络安装
(^) 需要 256 MB 内存 + 1.5 GB 硬盘,或 512 MB 内存 + 1 GB 硬盘
> [!WARNING]
> ❌ 本脚本不支持 OpenVZ、LXC 虚拟机
>
> 请改用
## 系统账号
| 系统 | 用户名 | 密码 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | -------- |
| Linux | root | 123@@@ |
| Windows (ISO) | administrator | 123@@@ |
| Windows (DD) | 镜像用户名 | 镜像密码 |
> [!TIP]
> 如果远程登录 Windows 失败,尝试使用用户名 `.\administrator`
## 下载(当前系统是 Linux)
国外服务器:
```bash
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh
```
国内服务器:
```bash
curl -O https://mirror.ghproxy.com/https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh
```
## 下载(当前系统是 Windows)
> [!IMPORTANT]
> 请先关闭 `Windows Defender` 的 `实时保护` 功能。该功能会阻止 `certutil` 下载任何文件。
😢还是无法下载?
### 可尝试以下几种方法
1. Windows 7 安装此补丁启用 TLS 1.2
2. 更新 SSL 根证书
```batch
certutil -generateSSTFromWU root.sst
certutil -addstore Root root.sst
```
3. 手动下载,通过 `远程桌面` 复制这两个文件
国外服务器:
```batch
certutil -urlcache -f -split https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat
```
国内服务器:
```batch
certutil -urlcache -f -split https://mirror.ghproxy.com/https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat
```
## 使用
> [!TIP]
> 所有功能均可在 Linux / Windows 下使用。
>
> Linux 下运行 `bash reinstall.sh`
>
> Windows 下运行 `reinstall.bat`
### 功能 1: 安装 Linux
- 不输入版本号,则安装最新版
- 不含 boot 分区(Fedora 例外),不含 swap 分区,最大化利用磁盘空间
- 在虚拟机上,会自动安装官方精简内核
> [!TIP]
> 安装 Debian / Kali 时,x86 可通过后台 VNC 查看安装进度,ARM 可通过串行控制台查看安装进度。
>
> 安装其它系统时,可通过多种方式(SSH、HTTP 80 端口、后台 VNC、串行控制台)查看安装进度。
```bash
bash reinstall.sh centos 7|9 (9 为 stream 版本)
oracle 7|8|9
alma 8|9
rocky 8|9
fedora 39|40
debian 10|11|12
ubuntu 20.04|22.04|24.04
alpine 3.17|3.18|3.19|3.20
opensuse 15.5|15.6|tumbleweed
kali
arch
gentoo
```
### 功能 2: DD
- 支持 gzip、xz 格式
- 静态 IP 的机器 DD Windows,会自动配置好 IP
> [!TIP]
> 可通过多种方式(SSH、HTTP 80 端口、后台 VNC、串行控制台)查看安装进度。
```bash
bash reinstall.sh dd --img https://example.com/xxx.xz
```
### 功能 3: 重启到 Alpine 救援系统 (Live OS)
- 可用 ssh 连接,进行手动 DD、修改分区、手动安装 Arch / Gentoo 等操作
- 如果没有修改硬盘内容,再次重启将回到原系统
```bash
bash reinstall.sh alpine --hold=1
```
### 功能 4: 重启到 netboot.xyz
- 可使用商家后台 VNC 安装 [更多系统](https://github.com/netbootxyz/netboot.xyz?tab=readme-ov-file#what-operating-systems-are-currently-available-on-netbootxyz)
- 如果没有修改硬盘内容,再次重启将回到原系统
```bash
bash reinstall.sh netboot.xyz
```
![netboot.xyz](https://netboot.xyz/images/netboot.xyz.gif)
### 功能 5: 安装 Windows ISO
- 支持自动查找大部分 iso 链接,需指定语言 `--lang`,默认 `en-us`
- 静态 IP 的机器,安装后会自动配置好 IP
- 能够绕过 Windows 11 安装限制
> [!TIP]
> 脚本以 作为 iso 镜像查找源。所有 iso 都是官方原版。
> [!IMPORTANT]
> 注意参数两边有引号。
```bash
bash reinstall.sh windows \
--image-name 'Windows 10 Enterprise LTSC 2021' \
--lang zh-cn
```
- 也可以指定 iso 链接
```bash
bash reinstall.sh windows \
--image-name 'Windows 10 Enterprise LTSC 2021' \
--iso 'https://drive.massgrave.dev/en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96.iso'
```
以下网站可找到 iso 链接
- Massgrave
- (推荐,iso 来自官方,每月更新,包含最新补丁)
- 微软
-
- (需用手机 User-Agent 打开)
-
- (预览版)
-
-
-
-
-
-
-
-
![Installing Windows](https://github.com/bin456789/reinstall/assets/7548515/07c1aea2-1ce3-4967-904f-aaf9d6eec3f7)
#### 参数说明
`--image-name` 指定要安装的映像,不区分大小写,常用映像有:
```text
Windows 7 Ultimate
Windows 10 Enterprise LTSC 2021
Windows 11 Pro
Windows Server 2022 SERVERDATACENTER
```
使用 `Dism++` 文件菜单 > 打开映像文件,选择要安装的 iso,可以得到映像名称
![image-name](https://github.com/bin456789/reinstall/assets/7548515/5aae0a9b-61e2-4f66-bb98-d470a6beaac2)
#### 支持的系统
- Windows (Vista ~ 11)
- Windows Server (2008 ~ 2025)
- Windows Server Essentials *
- Windows Server (Semi) Annual Channel *
- Hyper-V Server *
- Azure Stack HCI *
\* 需填写 iso 链接
#### 脚本会按需安装以下驱动
- KVM ([Virtio](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/))
- XEN ([XEN](https://xenproject.org/windows-pv-drivers/)、[Citrix](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Upgrading_PV_drivers.html#win2008-citrix-upgrade)、[AWS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/xen-drivers-overview.html))
- AWS ([ENA 网卡](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking-ena.html)、[NVME 存储控制器](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/aws-nvme-drivers.html))
- 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))
> [!WARNING]
> Vista (Server 2008) 和 32 位系统可能会缺少驱动
> [!WARNING]
> 未开启 CSM 的 EFI 机器,无法安装 Windows 7 (Server 2008 R2)
> [!WARNING]
> 支持 ARM 机器安装 Windows 11,仅限于 Hyper-V (Azure) ,不支持 KVM (甲骨文云)
> [!WARNING]
> Windows 10 LTSC 2021 中文版镜像 `zh-cn_windows_10_enterprise_ltsc_2021_x64_dvd_033b7312.iso` 的 `wsappx` 进程会长期占用 CPU
>
> 解决方法是更新系统补丁,或者手动安装 `VCLibs` 库
## 感谢
感谢以下商家提供白嫖机器
[![Oracle Cloud](https://github.com/bin456789/reinstall/assets/7548515/8b430ed4-8344-4f96-b4da-c2bda031cc90)](https://www.oracle.com/cloud/)
[![DartNode](https://github.com/bin456789/reinstall/assets/7548515/435d6740-bcdd-4f3a-a196-2f60ae397f17)](https://dartnode.com/)