WindowsとLinuxのデュアルブート構成での双方向アクセス

Windowsを使っているとき、Linux系のツールを使いたいときはありませんか?

ちょっとした処理ならWindowsのWSL 2環境で事足りますが、マシンパワーをフル活用したいとなると厳しい時がありますよね。

とはいえ、スペースとコストの関係で、複数台PCを導入できない場合があるかと思います。

そんなときは、1台のPCで2つのOSを動かすデュアルブート構成がオススメです。

デュアルブート構成の作り方

Windows環境がある状態でLinuxを追加する前提で記載します。

ます、Linux用で物理ディスクを追加してください。

次にLinuxのインストールUSBを用意し、追加した物理ディスクにインストールします。

インストールが完了すれば、デュアル構成の完成です。

PC起動時のUEFI画面でブートメニューを開くと、以下のようにどちらかのOSを起動するか選択する画面が表示されます。(私のPC環境では、起動時にF11キーを押すと表示されます)

ディスクの構成としては以下のような状態です。

以下の例では、ディスク0がLinux環境(Ubuntu Server 22.04 LTS)、ディスク1がWindows環境(Windows 11 Pro)になります。

OSごとに物理ディスクを分けることで以下のメリットが得られます。

  1. 後々OSをパージするときにBoot領域が汚染されない
  2. 双方向でアクセスができる(WSL 2環境、Linux環境)

WSL 2環境からLinux環境をアクセス(マウント)する方法

Windowsを操作中にLinux環境のファイルを参照したり編集したりしたい、というケースがあるかと思います。

WSL 2環境からLinux領域をマウントすることで、OSを再起動することなくファイル操作が可能です。

詳しい手順を次で説明していきます。

DeviceIDの確認

PowerShellを管理者権限で開きます。

以下のコマンドでDeviceIDを取得します。

GET-CimInstance -query "SELECT * from Win32_DiskDrive"

今回の例では、Linux環境のDeviceIDは「\\.\PHYSICALDRIVE0」になります。

Linux環境のマウント

wsl.exeコマンドでマウントをします。

wsl --mount \\.\PHYSICALDRIVE0 --partition 2

今回パーティション(Partitions)が2つあるので、--partition オプションで指定します。

パーティション1がブート領域、パーティション2がルート領域で作っています。

ファイルシステムがext4以外の場合は、--typeオプションの指定をしてください。

省略した場合、ext4としてマウントされます。

マウント状況の確認

WSL 2環境にアクセスし、マウントポイントを確認します。

lsblk

/mnt/wsl/PHYSICALDRIVE0p2 にマウントされていることが分かります。

lsコマンドで確認すると内容が表示されます。

ls /mnt/wsl/PHYSICALDRIVE0p2

参考:WSL 2 で Linux ディスクのマウントを開始する | Microsoft Learn

アンマウントする方法

以下コマンドでアンマウントできます。

wsl --unmount \\.\PHYSICALDRIVE0

トラブルシュート対応

マウントに失敗する

以下のエラーは、--partitionオプションの指定忘れで表示されます。

ディスクがアタッチされましたが、マウントに失敗しました: Invalid argument。
詳細については、WSL2 内で 'dmesg' を実行してください。
ディスクをデタッチするには、'wsl.exe --unmount \\.\PHYSICALDRIVE0' を実行してください。

管理者アクセスが要求される

管理者権限でPowerShellを開いていない場合に表示されます。

ディスクをマウントするには、管理者アクセス権が必要です。
Error code: Wsl/Service/AttachDisk/WSL_E_ELEVATION_NEEDED_TO_MOUNT_DISK

PowerShellは、「管理者として実行する」を選択してください。

WSL 2起動時にmountコマンドは使えるか?

物理ディスクとして認識していないので使えません。

wslコマンドによるマウント後は、物理ディスクとして認識されます。

Linux環境からWindows環境をマウントする方法

過去記事をご参照ください。

Linux環境のディスクマウント(LABEL/UUID) - JBS Tech Blog

WindowsからUbuntu移行に伴うNTFSのディスクマウント - JBS Tech Blog

おわりに

夏場、自宅環境はエアコン利用によりブレーカーが落ちることがあります。

PCの複数台起動が難しい状態です。

また、それなりのマシンスペックは高価で部屋のスペースも限りがあります。

デュアルブート構成による省電力、コスト削減、省スペース化は個人的マストなタスクでした。

執筆担当者プロフィール
宮久保 良彦

宮久保 良彦(日本ビジネスシステムズ株式会社)

モダンワークプレイス部に所属。 Azureに関連する提案、設計、構築を担当しています。 自作PCのカスタマイズが趣味です。

担当記事一覧