Ubuntuにディスクをマウントする

UbuntuにHDDをマウントする時ちょっとばかし手こずったのでメモメモ

lsblk

アタッチされている物理ディスクの一覧はlsblkで表示できます。

~$ lsblk
NAME                          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0                             2:0    1    4K  0 disk 
sda                             8:0    0   50G  0 disk 
├─sda1                          8:1    0  487M  0 part /boot
├─sda2                          8:2    0    1K  0 part 
└─sda5                          8:5    0 49.5G  0 part 
  ├─ubuntu--server--vg-root   252:0    0 47.5G  0 lvm  /
  └─ubuntu--server--vg-swap_1 252:1    0    2G  0 lvm  [SWAP]
sdb                             8:16   0  200G  0 disk 
sr0                            11:0    1 1024M  0 rom  
~$ 

これらは/devにデバイスファイルとして存在します。今回は/dev/sdbをマウントすることにしました。

mount

mountコマンドはファイルシステムを指定したディレクトリにマウントしてLinuxで扱えるようにします。さっそく/dev/sdb/mnt/testにマウントしてみます。ファイルシステムのタイプはLinuxで一般的に使われているext4を指定します。

~$ sudo -s
~# mkdir /mnt/test
~# mount -t ext4 /dev/sdb /mnt/test
mount: wrong fs type, bad option, bad superblock on /dev/sdb,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.
~# 

エラーメッセージが表示されてうまくいきません。「dmesg | tailを試してみて」って言ってるのでやってみます。dmesgカーネルのメッセージを表示するコマンドです。

~# dmesg | tail -n 1
[  363.550447] EXT4-fs (sdb): VFS: Can't find ext4 filesystem
~# 

ext4ファイルシステムが見つからないよ」って言ってます。それもそのはず。今回マウントしたいディスクは実はファイルシステムが構築されていません。現状はext4もクソもなくて、まっさら状態なんです。

mkfs

mkfsコマンドはデバイス上にファイルシステムを構築するコマンドです。-tオプションでext4を指定することでext4ファイルシステムを構築するようにします。/dev/sdbに対して実行します。

~# mkfs -t ext4 /dev/sdb
mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 52428800 4k blocks and 13107200 inodes
Filesystem UUID: 0fae0fb5-d26e-49d1-a68d-6316023af4a3
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done     

~# 

ちなみにmkfsにはお友達のコマンドがいっぱいいます。コンソールでmkfsまで入力したあと、補完すると出てきます。

~# mkfs
mkfs          mkfs.btrfs    mkfs.ext2     mkfs.ext4     mkfs.minix    
mkfs.bfs      mkfs.cramfs   mkfs.ext3     mkfs.ext4dev  mkfs.xfs      
~# mkfs

今回mkfsを実行する時-text4を指定しましたが、これはmkfs.ext4コマンドを実行するのと同じです。

ではでは、マウントの方をやっていきましょう。mountを実行した後何もメッセージが表示されなければ成功です。

~# mount -t ext4 /dev/sdb /mnt/test
~# 

最後にdfコマンドでマウントが本当に成功してるのかを確認します。/dev/sdbの行を見ると/mnt/testにマウントされているのがわかりますね。やったぜ。

~# df -T
Filesystem                          Type     1K-blocks    Used Available Use% Mounted on
udev                                devtmpfs   4063204       0   4063204   0% /dev
tmpfs                               tmpfs       816652    8988    807664   2% /run
/dev/mapper/ubuntu--server--vg-root ext4      48914748 1380164  45026808   3% /
tmpfs                               tmpfs      4083256       0   4083256   0% /dev/shm
tmpfs                               tmpfs         5120       0      5120   0% /run/lock
tmpfs                               tmpfs      4083256       0   4083256   0% /sys/fs/cgroup
/dev/sda1                           ext2        482922   58235    399753  13% /boot
tmpfs                               tmpfs       816652       0    816652   0% /run/user/1000
/dev/sdb                            ext4     206293688   60684 195730860   1% /mnt/test
~# 

参考