自宅サーバはほぼラボサーバのデータバックアップ用でしかなかったので、Windowsに置き換えることにした。データバックアップディスクをwindowsのフォーマットにしてもいいといえばいいが、ext4のままのほうが楽といえば楽なのでそのままマウントできる方法を模索した。
結果、結構面倒くさいことが判明。
手順を覚えていられる自信がないので書いておく。
まずext4のディスクをつなぐ。今回biosをいじってsataのホットプラグを有効にしたので、HDDをラックにガチャンとはめ込んでやる。その状態では全くマウントされないのでまずはWindowsに認識されるようにする。
powershellを管理者で開き、
> GET-CimInstance -query "SELECT * from Win32_DiskDrive" DeviceID Caption Partitions Size Model -------- ------- ---------- ---- ----- \\.\PHYSICALDRIVE1 ST4000VN008-2DR166 1 4000784417280 ST4000VN008-2DR166 \\.\PHYSICALDRIVE0 WDC WD10EARX-32N0YB0 3 1000202273280 WDC WD10EARX-32N0YB0
\\.\PHYSICALDRIVE1がホットプラグしたHDDなので
>wsl --mount \\.\PHYSICALDRIVE1 --bare この操作を正しく終了しました。
このようにマウントする。しかしこの状態ではext4フォーマットは読めるようにはなっておらず、続いてUbuntuでマウントしてやる。
Ubuntuを起動し、プロンプトに
$ sudo fdisk -l [sudo] password for kkuro: Disk /dev/ram0: 64 MiB, 67108864 bytes, 131072 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes 中略 Disk /dev/sdc: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors Disk model: ST4000VN008-2DR1 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 7ACA6F87-4951-4650-BD60-48A486258E88 Device Start End Sectors Size Type /dev/sdc1 2048 7814035455 7814033408 3.6T Linux filesystem Disk /dev/sdd: 1 TiB, 1099511627776 bytes, 2147483648 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes
このようになっている。ここで/dev/sddがWindowsの起動ディスクで、/dev/sdcがext4のHDD
$ sudo mkdir /media/hdd1 $ sudo mount /dev/sdc1 /media/hdd1
という風にマウントしてやる。
これでやっとファイルエクスプローラーのLinux>Ubuntu>media>hdd1にHDDの中身が出てくる。
なお/etc/fstabで自動マウントはできないっぽい。
HDDを取り外すときはまずUbuntuで
$sudo umount /media/hdd1
とし、powershellで
> wsl --unmount \\.\PHYSICALDRIVE1
これで多分引っこ抜いても大丈夫なんじゃないかな。