dd の準備#
ダウンロードする前に、ソースを更新し、wget コンポーネントをインストールすることを忘れないでください。以下のコマンドは、元のシステムに対応しています。
Debian 系(Debian Kali Ubuntu):
apt update
apt update install wget -y
Red Hat 系(CentOS AlmaLinux RockyLinux Fedora など):
dnf install wget -y
AlpineLinux(wget bash コンポーネントをインストールし、システムのデフォルトシェルを ash から bash に変更する必要があります):
apk update
apk install wget bash
sed -i 's/root:\/bin\/ash/root:\/bin\/bash/g' /etc/passwd
スクリプトをダウンロードして実行します:
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
国内のマシンでは、Gitee からダウンロードできます:
wget --no-check-certificate -qO InstallNET.sh 'https://gitee.com/mb9e8j2/Tools/raw/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
クイックスタート(スクリプトに - pwd -port -mirror などのパラメータを追加しない限り有効です。追加した場合は、対応するシステムのリリースバージョンを指定する必要があります!):
どのアーキテクチャを使用するかを入力する必要はありません(-v オプションは - version に置き換えられ、両方とも廃止されました)。スクリプトはアーキテクチャを自動的に検出し、Debian 系と Redhat 系のアーキテクチャ名を相互にスマートに変換します。
Debian 12(9 から 12 まで対応)
bash InstallNET.sh -debian
Kali rolling(rolling/dev/experimental の 3 つのブランチに対応していますが、原則として rolling を推奨します)
bash InstallNET.sh -kali
Alpine Linux edge(3.16 から 3.18 と edge に対応していますが、edge を推奨します)
超軽量の Linux ディストリビューションですが、Alpine Linux は実行時にメモリを節約し、メモリ使用量は約 80m ですが、インストール時には節約されません。なぜなら、Alpine Linux はすべての初期化操作をメモリ上で完了し、最後にハードディスクに書き込むためです。一方、Debian や Red Hat 系の起動カーネルはメモリ内で準備が整った後、ディスクをフォーマットし、イメージソースからファイルをハードディスクに書き込むため、Alpine Linux をインストールするためのメモリ要件は低くありません。1GB 未満のメモリを搭載したマシンにはインストールしないでください。また、Alpine Linux の iPXE ブートドキュメントでは、IPv4 ネットワークからの dhcp または静的な起動方法のみが説明されているため、IPv6 のみのパブリックネットワークアクセスのマシンにもインストールしないでください。デュアルスタックマシンの IPv6 パートはインストールプロセス中に自動的に設定されます。
bash InstallNET.sh -alpine
CentOS 9 stream(7-9 に対応)
bash InstallNET.sh -centos
AlmaLinux 9(8-9 に対応)
bash InstallNET.sh -alma
RockyLinux 9(8-9 に対応)
bash InstallNET.sh -rocky
Fedora 38(37-38 に対応)
bash InstallNET.sh -fedora
Ubuntu 22.04(20.04 または 22.04 に対応)
bash InstallNET.sh -ubuntu
Windows Server 2022(AlpineLinux を介した dd を使用して実現されており、BIOS UEFI の異なるファームウェアで自動的に対応する dd パッケージを識別できます。Windows 10 Enterprise LTSC、Windows 11 Pro for Workstation 22H2、Windows Server 2012 R2、Windows Server 2016、Windows Server 2019、Windows Server 2022 をサポートしています。再インストール時には、対応するシステムの数字のバージョンを入力してください。システムに VNC でログインできる場合、IPv4 の静的な設定とシステムディスクの自動拡張が自動的に行われます。dd パッケージは秋水逸冰から提供されており、彼の無私の貢献に感謝します)
bash InstallNET.sh -windows
dd を開始する#
デフォルトのパスワードは次のとおりです:
LeitboGi0ro
AlpineLinux と Ubuntu は、パスワードパラメータを設定ファイルに渡すために平文(openssl で暗号化されていないテキスト、ローカル変数のみの転送で、他の場所には送信されません)を使用するため、特殊文字を含むパスワードを追加すると、sed の処理中にエラーが発生する可能性があるため、AlpineLinux と Ubuntu のデフォルトパスワードは LeitboGi0ro に統一され、変更はサポートされていません。
パスワードをカスタマイズする場合は、-pwd ' パスワード内容 ' を追加して変更できます。パスワードフィールドは、前後に単一引用符(' ')を使用することをお勧めします。シェルが特殊文字を含むパスワードをコマンドとして渡すことを防ぐためです。長すぎたり複雑すぎたりしないようにしてください。例:
-pwd 'xiaoming'
デフォルトの SSH ポートは元のシステムに従います。たとえば、マシンの元のシステムの SSH ポートが 65432 である場合、新しくインストールされたシステムのポート番号も 65432 になります。また、-port "ポート番号" を追加して変更することもできます。すべてのサポートされている Linux システムをサポートしています。範囲は「1-65535」です。間違った値を指定した場合や元のシステムのポートを確定できない場合、バックアップ値は次のとおりです:
22
例:
-port "12345"
このスクリプトを使用して Linux から Windows に dd する方法は?
- Debian 系または Redhat 系の元のシステムに関係なく、KVM QEMU または XEN ベースの任意のマシンでは、grub ブートメニューを書き込んで再起動することができます:
bash InstallNET.sh -dd 'DDイメージリンク'
- Kimsufi など、救援モード、通常モードなどの複数の起動方法をサポートしている一部の専用サーバー:
救援モードに変更し、メールで受け取ったログインアカウントのパスワードを入力して、一時的な救援モードシステムに入り、次のコマンドを実行します:
wget -O- 'DDイメージリンク' | xzcat | dd of=/dev/sda
DD イメージのダウンロードと展開が完了するのを待ちます。起動モードを通常モードに変更し、再起動コマンドを入力し、dd された Windows システムの初期化が完了するのを待ちます。
reboot