Skip to content

wgetnz/reinstall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reinstall

Codacy CodeFactor Lines of Code Telegram Group Github Sponsors

一键重装脚本 English

捐赠者

亮点

  • 一键安装 Linux,支持 17 种常见发行版
  • 一键安装 Windows,使用官方 ISO 安装而非自制镜像,脚本会自动获取 ISO 链接、自动安装 Virtio 等驱动
  • 支持任意方向重装,即 Linux to LinuxLinux to WindowsWindows to WindowsWindows to Linux
  • 无需填写 IP 参数,自动识别动静态,支持 /32/128网关不在子网范围内纯 IPv6双网卡 等特殊网络
  • 专门适配低配小鸡,比官方 netboot 需要更少的内存
  • 全程用分区表 ID 识别硬盘,确保不会写错硬盘
  • 支持 BIOS、EFI 引导,支持 ARM 服务器
  • 不含自制包,所有资源均实时从镜像源获得
  • 有很多注释

系统要求

原系统可以是表格中的任意系统

目标系统的配置要求如下:

目标系统 版本 内存 硬盘
Alpine 3.18, 3.19, 3.20, 3.21 256 MB 1 GB
Debian 9, 10, 11, 12 256 MB 1 ~ 1.5 GB ^
Kali 滚动 256 MB 1 ~ 1.5 GB ^
Ubuntu 16.04, 18.04, 20.04, 22.04, 24.04 512 MB * 2 GB
Anolis 7, 8 512 MB * 5 GB
Oracle 7, 8, 9 512 MB * 5 GB
RedHat   AlmaLinux   Rocky 8, 9 512 MB * 5 GB
OpenCloudOS 8, 9 512 MB * 5 GB
CentOS 9, 10 512 MB * 5 GB
Fedora 40, 41 512 MB * 5 GB
openEuler 20.03, 22.03, 24.03 512 MB * 5 GB
openSUSE 15.5, 15.6, Tumbleweed (滚动) 512 MB * 5 GB
NixOS 24.11 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 虚拟机

请改用 https://github.com/LloydAsp/OsMutation

下载(当前系统是 Linux)

国外服务器:

curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh $_

国内服务器:

curl -O https://jihulab.com/bin456789/reinstall/-/raw/main/reinstall.sh || wget -O reinstall.sh $_

下载(当前系统是 Windows)

Important

请先关闭 Windows Defender实时保护 功能。该功能会阻止 certutil 下载任何文件。

解决 Windows 7 下无法下载脚本

由于不支持 TLS 1.2、SHA-256、根证书没有更新等原因,Vista,7 和 Server 2008 (R2) 可能无法自动下载脚本,因此需要手动下载,具体操作如下:

用 IE 下载 (先在 IE 高级设置里启用 TLS 1.2),或者通过远程桌面,将这两个文件保存到同一个目录

使用时运行下载的 reinstall.bat

国外服务器:

certutil -urlcache -f -split https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat

国内服务器:

certutil -urlcache -f -split https://jihulab.com/bin456789/reinstall/-/raw/main/reinstall.bat

使用

所有功能 都可在 Linux / Windows 下运行

  • Linux 下运行 bash reinstall.sh
  • Windows 下运行 .\reinstall.bat

功能 1: 安装 Linux

  • 用户名 root 默认密码 3aZy8GQpnTS25D,首次开机可能要等几分钟才能成功登录
  • 安装最新版可不输入版本号
  • 最大化利用磁盘空间:不含 boot 分区(Fedora 例外),不含 swap 分区
  • 自动根据机器类型选择不同的优化内核,例如 CloudHWE 内核
  • 安装 Red Hat 时需填写 https://access.redhat.com/downloads/content/rhel 得到的 qcow2 镜像链接
  • 重装后如需修改 SSH 端口或者改成密钥登录,注意还要修改 /etc/ssh/sshd_config.d/ 里面的文件
bash reinstall.sh anolis      7|8
                  rocky       8|9
                  redhat      8|9   --img='http://xxx.com/xxx.qcow2'
                  almalinux   8|9
                  opencloudos 8|9
                  centos      9|10
                  oracle      7|8|9
                  fedora      40|41
                  nixos       24.11
                  debian      9|10|11|12
                  openeuler   20.03|22.03|24.03
                  alpine      3.18|3.19|3.20|3.21
                  opensuse    15.5|15.6|tumbleweed
                  ubuntu      16.04|18.04|20.04|22.04|24.04 [--minimal]
                  kali
                  arch
                  gentoo

可选参数

  • --password PASSWORD 设置密码
  • --ssh-port PORT 修改 SSH 端口(安装期间观察日志用,也用于新系统)
  • --web-port PORT 修改 Web 端口(安装期间观察日志用)
  • --hold 2 安装结束后不重启,此时可以 SSH 登录修改系统内容,系统挂载在 /os (此功能不支持 Debian/Kali)

Tip

安装 Debian/Kali 时,x86 可通过后台 VNC 查看安装进度,ARM 可通过串行控制台查看安装进度。

安装其它系统时,可通过多种方式(SSH、HTTP 80 端口、后台 VNC、串行控制台)查看安装进度。
即使安装过程出错,也能通过 SSH 运行 /trans.sh alpine 安装到 Alpine。

实验性功能

云镜像安装 Debian

  • 适合于 CPU 较慢的机器
bash reinstall.sh debian --ci

ISO 安装 CentOS, AlmaLinux, Rocky, Fedora

  • 仅支持内存大于 2G 且为动态 IP 的机器
  • 密码 3aZy8GQpnTS25D,SSH 端口 22,不支持用参数修改
bash reinstall.sh centos --installer

ISO 安装 Ubuntu

  • 仅支持内存大于 1G 且为动态 IP 的机器
  • 密码 3aZy8GQpnTS25D,SSH 端口 22,不支持用参数修改
bash reinstall.sh ubuntu --installer

功能 2: DD

  • 支持 raw vhd 格式的镜像(未压缩,或者压缩成 .gz .xz .zst .tar .tar.gz .tar.xz .tar.zst
  • DD Windows 镜像时,会自动扩展系统盘,静态 IP 的机器会配置好 IP,可能首次开机几分钟后才生效
  • DD Linux 镜像时,不会修改镜像的任何内容
bash reinstall.sh dd --img https://example.com/xxx.xz

可选参数

  • --allow-ping 允许被 Ping (仅限 DD Windows)
  • --rdp-port PORT 修改 RDP 端口 (仅限 DD Windows)
  • --ssh-port PORT 修改 SSH 端口(安装期间观察日志用)
  • --web-port PORT 修改 Web 端口(安装期间观察日志用)
  • --hold 2 DD 结束后不重启,此时可以 SSH 登录修改系统内容,Windows 系统会挂载在 /os,Linux 系统不会自动挂载

Tip

可通过多种方式(SSH、HTTP 80 端口、后台 VNC、串行控制台)查看安装进度。
即使安装过程出错,也能通过 SSH 运行 /trans.sh alpine 安装到 Alpine。

功能 3: 重启到 Alpine Live OS(救援系统)

  • 可用 ssh 连接,进行备份/恢复硬盘、手动 DD、修改分区、手动安装 Alpine/Arch/Gentoo 等操作
  • 用户名 root 默认密码 3aZy8GQpnTS25D
  • 如果手动操作没有破坏原系统,再次重启将回到原系统
bash reinstall.sh alpine --hold=1

可选参数

  • --password PASSWORD 设置密码
  • --ssh-port PORT 修改 SSH 端口

功能 4: 重启到 netboot.xyz

  • 可使用商家后台 VNC 手动安装 更多系统
  • 如果手动操作没有破坏原系统,再次重启将回到原系统
bash reinstall.sh netboot.xyz

netboot.xyz

功能 5: 安装 Windows ISO

Windows 安装界面

  • 用户名 administrator 默认密码 3aZy8GQpnTS25D
  • 如果远程登录失败,可以尝试使用用户名 .\administrator
  • 静态机器会自动配置好 IP,可能首次开机几分钟后才生效
  • 支持所有语言

支持的系统

  • Windows (Vista ~ 11)
  • Windows Server (2008 ~ 2025)
    • Windows Server Essentials *
    • Windows Server (Semi) Annual Channel *
    • Hyper-V Server *
    • Azure Stack HCI *

方法 1: 让脚本自动查找 ISO (推荐)

  • 通常情况下 Windows 每个月都会发布新的官方 ISO,集成了最新的系统补丁,避免了刚安装好系统就要下载一堆补丁
  • 脚本会从 https://massgrave.dev/genuine-installation-media 查找 ISO,该网站收录了每月发布的 ISO,因此脚本查找到的 ISO 都是官方最新版
  • 上面带 * 的系统不支持自动查找 ISO
bash reinstall.sh windows \
     --image-name 'Windows 11 Enterprise LTSC 2024' \
     --lang zh-cn
支持的语言
ar-sa
bg-bg
cs-cz
da-dk
de-de
el-gr
en-gb
en-us
es-es
es-mx
et-ee
fi-fi
fr-ca
fr-fr
he-il
hr-hr
hu-hu
it-it
ja-jp
ko-kr
lt-lt
lv-lv
nb-no
nl-nl
pl-pl
pt-pt
pt-br
ro-ro
ru-ru
sk-sk
sl-si
sr-latn-rs
sv-se
th-th
tr-tr
uk-ua
zh-cn
zh-hk
zh-tw

方法 2: 自行指定 ISO 连接

  • 如果不知道 --image-name,可以随便填,在重启后连接 SSH,根据错误提示重新输入正确的值
bash reinstall.sh windows \
     --image-name 'Windows 11 Enterprise LTSC 2024' \
     --iso 'https://drive.massgrave.dev/zh-cn_windows_11_enterprise_ltsc_2024_x64_dvd_cff9cd2d.iso'
以下网站可找到 ISO 链接

可选参数

  • --password PASSWORD 设置密码
  • --allow-ping 允许被 Ping
  • --rdp-port PORT 更改 RDP 端口
  • --ssh-port PORT 修改 SSH 端口(安装期间观察日志用)
  • --web-port PORT 修改 Web 端口(安装期间观察日志用)
  • --hold 2 在进入 Windows 官方安装程序之前,可以 SSH 登录修改硬盘内容,硬盘挂载在 /os

如何填写映像名称 --image-name

通常一个 ISO 会包含多个系统版本,例如家庭版、专业版。映像名称 --image-name 就是用来指定要安装的版本,填写时不区分大小写

可以用 DISM、DISM++、Wimlib 等工具查询 ISO 包含的映像名称

常用的映像名称有:

Windows 7 Ultimate
Windows 11 Pro
Windows 11 Enterprise LTSC 2024
Windows Server 2025 SERVERDATACENTER

如何用 DISM++ 查询 ISO 包含的映像名称

打开文件菜单 > 打开映像文件,选择要安装的 iso,即可得到映像名称,所有映像名称都可以安装

image-name

脚本会按需安装以下驱动

Warning

Vista (Server 2008) 和 32 位系统可能会缺少驱动

Warning

未开启 CSM 的 EFI 机器,无法安装 Windows 7 (Server 2008 R2)

Hyper-V (Azure) 需选择合适的虚拟机代系 https://learn.microsoft.com/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v

Warning

Windows 10 LTSC 2021 中文版镜像 zh-cn_windows_10_enterprise_ltsc_2021_x64_dvd_033b7312.isowsappx 进程会长期占用 CPU

解决方法是更新系统补丁,或者手动安装 VCLibshttps://www.google.com/search?q=ltsc+wsappx

ARM 安装 Windows 的注意事项

大部分 ARM 机器都支持安装 Windows 11 24H2

安装过程可能会黑屏,串行控制台可能会显示 ConvertPages: failed to find range,均不影响正常安装

兼容性 云服务商 实例类型 问题
✔️ Azure B2pts_v2
✔️ 阿里云 g6r, c6r
✔️ 阿里云 g8y, c8y, r8y 有几率重启时卡开机 Logo,强制重启即可
✔️ AWS T4g
✔️ Scaleway COPARM1
✔️ Gcore
甲骨文云 A1.Flex 不一定能安装成功,越新创建的实例越容易成功
安装后还需要手动加载显卡驱动
谷歌云 t2a 缺少网卡驱动
甲骨文云加载显卡驱动

使用远程桌面登录到服务器,打开设备管理器,找到显卡,选择更新驱动,在列表中选择 Red Hat VirtIO GPU DOD controller 即可。不需要提前下载驱动。

virtio-gpu-1 virtio-gpu-2 virtio-gpu-3

讨论

GitHub Issues Telegram Group

如何修改脚本自用

  1. Fork 本仓库
  2. 修改 reinstall.shreinstall.bat 开头的 confhomeconfhome_cn
  3. 修改其它代码

感谢

Github Sponsors

感谢以下商家提供白嫖机器

Oracle Cloud DartNode

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages