Linuxを使ってWindowsを小さいディスクに引っ越す

久々の更新になってしまいましたが、備忘録も兼ねて自分のWin環境でやったことをまとめようとおもって書き始めました。 別にディスクの引っ越しとかに限らず、EFIとか回復環境の再構築もある程度書いてるつもりなので、そういう人も見ていただければと思います(手順7あたり)。 ただ、Linuxを使った経験がある人向けになってます(Windowsなのに)。 あと、この記事ではddでパーティションのコピーとかやるので、間違えるとデータが消し飛びます。私が書いているコマンドが間違っているかもしれないので、typeする前に一度考えてください。データが飛んでも私は責任を負いません。怖かったらバックアップをとっておくか、大人しく再インストールしてください。 はじめに 長いことWindowsを使ってると、ディスクの交換とかすることもあると思います。大きいサイズのディスクへの引っ越しならそのへんのパーティションコピーツール(AOMEIとかEaseUSとか)を使えばいいですが、小さい環境に移すのは結構面倒だったりします。 こういう場合、基本的にはWindowsを入れ直してやるのが楽なのかもしれませんが、どうしてもCドライブを移したいとかいう場合もあると思います。あと、パーティション構成が気に食わないって人もいると思います(自分)。そういう場合、Linuxでパーティション作成→ddという方法が意外とうまく行けたので、適当ですが記事にした次第です。結構危ないので、あくまで参考程度にしていただければ… どうでもいいですが、パーティションコピーツールは前に使ったときにパーティション名が文字化けしたりしたので個人的にはあまりおすすめしません。 必要な環境 Windows(引っ越し元) Linux(USBブートのインストーラーでOK) Windowsインストーラー 引越し先のドライブ WindowsのISOはMediaCreationToolで手に入れてください。 インストーラーが2つ要るので、Ventoyとかを使うのをオススメします(めっちゃ便利なので)。使い方は省きます。 ちなみにですがI use Arch btwなので、私はArchLinuxのISOを使いました。ddとcfdiskが使えればインストーラーじゃなくても何でもいいです。 作業 始める前に注意ですが、以降の作業はUEFI&GPT環境を想定しています。MBR環境でも動くかもしれませんが、検証していないので動作は保証できません。(めんどくさかったので) 目次 パーティション縮小 Linuxブート ディスクの確認 パーティションの用意 コピー Windowsインストーラの起動 DiskPart BCDBoot 回復環境の設定 手順1 パーティション縮小 コピーする前にコピー量を削減するためにWin上でCドライブを縮小しておきます。Winメニュー右クリック→ディスクの管理 でCドライブのサイズを可能な限り小さくします。 なお、ページファイルとかシャドウコピーとかがあるとあまり縮小できなかったりするので、可能であればそれらを無効化してからやるといいと思います(特に小さい環境にコピーする場合)。 手順2 Linuxブート 用意したLinux環境をブートします。Shiftキー押しながら再起動→メディアを使用ってやるのが楽だと思います。 手順3 ディスクの確認 まずコピー元とコピー先のディスクの情報を確認します。fdisk -l /dev/sd~みたいな感じでどのデバイスがコピー元orコピー先なのかを確認しましょう。 ここからはコピー元をsdX、コピー先をsdYとして進めていきます。XとYは自身の環境に合わせて読み替えてください。 コピー元は例えばこんな感じです。 # fdisk -l /dev/sdX Disk /dev/sdX: 465.78 GiB, 500107862016 bytes, 976773168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: B8243056-BE4E-4935-9FA3-886D58AB4708 Device Start End Sectors Size Type /dev/sdX1 2048 526335 524288 256M EFI System /dev/sdX2 526336 2623487 2097152 1G Windows recovery environment /dev/sdX3 2623488 976773119 974149632 464.5G Microsoft basic data この場合、/dev/sdX3がCドライブですね。sdX2は回復環境、sdX1はEFIです。実際はこんな感じではないと思いますが、とりあえずCドライブが分かれば何でもいいです。 ...

2022/11/11 · 3 min · 503 words · u-haru