Ubuntu 16.04 がインストールされた HDD があり、Linux のデータを失うことなく、2 番目の OS として Windows をインストールする必要があります。正しく理解していれば、パーティションを作成し、新しいパーティションに Windows をインストールすることで実行できます。ただし、特にシステム ディスクの場合、ext4 ファイル システムでパーティション テーブルを作成する方法がわかりません。
また、パーティションを作成するために、フラッシュ ドライブから起動し、sda3 をアンマウントして新しいパーティション テーブルを作成しようとしましたが、成功しませんでした。
Linux のデータと安定性を失うことなくパーティション テーブルを作成するにはどうすればよいでしょうか? また、別の方法も歓迎します。
答え1
ext4 ファイルシステムにパーティションを作成することはできません。ディスクの先頭には、ディスク上のパーティションの数と大きさを示すパーティション テーブル (レガシー BIOS タイプまたは GTP) があります。ファイルシステムはこれらのパーティション上に作成されます。(Windows の場合は NTFS ファイルシステム、Linux の場合は EXT4 またはその他のいくつかのタイプ)
あなたの場合は、次のことを行う必要があります:
- まず重要なデータをバックアップしてください。これは非常に重要です。
- ペンドライブ(またはシステムディスク以外の任意のソース)から Linux を起動します
- ext4 パーティションのサイズを変更します (縮小)。マウントされたパーティションを縮小することはできないため、外部ソースから起動する必要があります。
- 縮小された ext4 サイズに合わせて、システム仮想パーティションのサイズを変更します。安全のために、ext4 サイズより少し大きいサイズを使用することをお勧めします。lvm を使用しているため、lvresize を使用してこれを行うことができます。最も安全なオプションである lvresize --resizefs オプションを使用して、手順 3.+4. を一度に実行することもできます。
- 次に、pvresize を使用して物理ボリュームを縮小する必要があります。将来のすべての Linux パーティションに必要なサイズを選択します (lvm を使用して、その場でパーティションを作成できます)。
- ここで、基礎となるGPTパーティションを削除して再作成します。パーティションを削除して再作成すると、しなければならない新しいパーティションを同じ削除したパーティションよりもセクター位置を優先してください。そうしないと、LVM データ (およびおそらくファイルシステム) が失われます。
- これで、Windows 用の新しいパーティションを作成できます (または作成させることもできます)。 (その前に、Linux を起動できるかどうかを確認します)。
主なコマンドは次のとおりです (すべて root として、または sudo で開始) :
# to list your logical volumes with phyisical pv-s
lvs -o +devices
# if you want 20G linux system disk
lvresize -r /dev/ubuntu-gnome-vg/your-system-lv-name 20G
# if you want preserve 500G for linux (you can use this space for anything)
pvresize --setphysicalvolumesize 500G /dev/sda3
# now resize the 3rd partition on disk1 to 500G (maybe a bit bigger for safety)
fdisk/parted/gparted
# after a reboot you can match up your pv exactly with the physical partition with (this is useful if you used the safe method and created a bit bigger partition eg.510G)
pvresize /dev/sda3
これは完璧に動作しますが (私は何度か試しました)、やや高度な方法なので、初心者向けではありません。lvm/gpt にあまり詳しくない場合は、Linux ファイルシステムをバックアップする方が簡単かもしれません (ブート CD からマウントし、ファイルシステム全体を tar+gzip して、ペンドライブ/外付け HDD にコピーします)。次に、2 つのパーティション (実際には 3 つ、小さな efi はそのままにして、1 つのパーティションを Windows 用、もう 1 つを Linux 用) を作成し、Windows をインストールして、tar.gz から Linux ファイルシステムを再作成します。いずれにしてもバックアップする必要があるため、前者の方法を選択した場合でも、これがバックアップ プランになります。
その他の注意: Windows がブート マネージャー (例: grub) を上書きする可能性があり (おそらく上書きされます)、Linux が起動できなくなります。UEFI/GPT の場合は OS を選択できますが、レガシー システムの場合は grub を再インストールする必要があります。これは簡単で、USB から起動し、システム ファイル システムに chroot して、grub-install /dev/yourharddiskdevname を実行するだけです。多くのインストール USB (debian、ubuntu) はディスクから起動できます (その場合は chroot する必要はありません)。
答え2
私の経験からすると、最初に Windows をインストールし、次に Linux をインストールする方が簡単です。
しかし、Windowsは通常NTFS
パーティションを必要とします。Windowsはgrub2
ブートマネージャ独自の窓付きブートローダーWindows と Linux の起動を処理できますがgrub2
(選択メニューと <n> 秒後のデフォルトの起動)、Windows ブートローダーは Windows OS をロードするだけです。
- バックアップシステム
- Linuxパーティションのサイズを変更する
NTFS
新しいパーティションを作成し、ファイルシステムでフォーマットする- Windowsインストーラーメディア(DVD/USB)から起動し、
NTFS
パーティションにWindowsをインストールします。 - Linuxライブインストーラメディアを起動する
- Linux パーティションを chroot し、grub2 を修正します (更新/再インストール)
終わり