システムディスクのパーティション

システムディスクのパーティション

Ubuntu 16.04 がインストールされた HDD があり、Linux のデータを失うことなく、2 番目の OS として Windows をインストールする必要があります。正しく理解していれば、パーティションを作成し、新しいパーティションに Windows をインストールすることで実行できます。ただし、特にシステム ディスクの場合、ext4 ファイル システムでパーティション テーブルを作成する方法がわかりません。

GParted 画面

また、パーティションを作成するために、フラッシュ ドライブから起動し、sda3 をアンマウントして新しいパーティション テーブルを作成しようとしましたが、成功しませんでした。

Linux のデータと安定性を失うことなくパーティション テーブルを作成するにはどうすればよいでしょうか? また、別の方法も歓迎します。

答え1

ext4 ファイルシステムにパーティションを作成することはできません。ディスクの先頭には、ディスク上のパーティションの数と大きさを示すパーティション テーブル (レガシー BIOS タイプまたは GTP) があります。ファイルシステムはこれらのパーティション上に作成されます。(Windows の場合は NTFS ファイルシステム、Linux の場合は EXT4 またはその他のいくつかのタイプ)

あなたの場合は、次のことを行う必要があります:

  1. まず重要なデータをバックアップしてください。これは非常に重要です。
  2. ペンドライブ(またはシステムディスク以外の任意のソース)から Linux を起動します
  3. ext4 パーティションのサイズを変更します (縮小)。マウントされたパーティションを縮小することはできないため、外部ソースから起動する必要があります。
  4. 縮小された ext4 サイズに合わせて、システム仮想パーティションのサイズを変更します。安全のために、ext4 サイズより少し大きいサイズを使用することをお勧めします。lvm を使用しているため、lvresize を使用してこれを行うことができます。最も安全なオプションである lvresize --resizefs オプションを使用して、手順 3.+4. を一度に実行することもできます。
  5. 次に、pvresize を使用して物理ボリュームを縮小する必要があります。将来のすべての Linux パーティションに必要なサイズを選択します (lvm を使用して、その場でパーティションを作成できます)。
  6. ここで、基礎となるGPTパーティションを削除して再作成します。パーティションを削除して再作成すると、しなければならない新しいパーティションを同じ削除したパーティションよりもセクター位置を優先してください。そうしないと、LVM データ (およびおそらくファイルシステム) が失われます。
  7. これで、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 をロードするだけです。

  1. バックアップシステム
  2. Linuxパーティションのサイズを変更する
  3. NTFS新しいパーティションを作成し、ファイルシステムでフォーマットする
  4. Windowsインストーラーメディア(DVD/USB)から起動し、NTFSパーティションにWindowsをインストールします。
  5. Linuxライブインストーラメディアを起動する
  6. Linux パーティションを chroot し、grub2 を修正します (更新/再インストール)

終わり

関連情報