Windowsを使っているとき、Linux系のツールを使いたいときはありませんか?
ちょっとした処理ならWindowsのWSL 2環境で事足りますが、マシンパワーをフル活用したいとなると厳しい時がありますよね。
とはいえ、スペースとコストの関係で、複数台PCを導入できない場合があるかと思います。
そんなときは、1台のPCで2つのOSを動かすデュアルブート構成がオススメです。
- デュアルブート構成の作り方
- WSL 2環境からLinux環境をアクセス(マウント)する方法
- アンマウントする方法
- トラブルシュート対応
- Linux環境からWindows環境をマウントする方法
- おわりに
デュアルブート構成の作り方
Windows環境がある状態でLinuxを追加する前提で記載します。
ます、Linux用で物理ディスクを追加してください。
次にLinuxのインストールUSBを用意し、追加した物理ディスクにインストールします。
インストールが完了すれば、デュアル構成の完成です。
PC起動時のUEFI画面でブートメニューを開くと、以下のようにどちらかのOSを起動するか選択する画面が表示されます。(私のPC環境では、起動時にF11キーを押すと表示されます)
ディスクの構成としては以下のような状態です。
以下の例では、ディスク0がLinux環境(Ubuntu Server 22.04 LTS)、ディスク1がWindows環境(Windows 11 Pro)になります。
OSごとに物理ディスクを分けることで以下のメリットが得られます。
- 後々OSをパージするときにBoot領域が汚染されない
- 双方向でアクセスができる(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の複数台起動が難しい状態です。
また、それなりのマシンスペックは高価で部屋のスペースも限りがあります。
デュアルブート構成による省電力、コスト削減、省スペース化は個人的マストなタスクでした。