広告

Linuxでまだマウントしていないディスクはparted -lで探す

タグ:linux

Windowsと異なりLinuxでは増設したディスクや外付けHDDは接続しただけでは自動マウントされない。
sudo mount [ディスクのデバイスファイルパス] [マウントポイント] のようにして使用前にマウントしないといけないが、このときにデバイスファイルパス (/dev/sdaなど) が必要になってしまう。これを探し出すには sudo parted -lコマンドを使う。
    # とりあえず一度見てみる
    $ sudo parted -l
    Model: ATA TOSHIBA KSG60ZMV (scsi)
    Disk /dev/sda: 256GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags:

    Number  Start   End     Size    File system  Name                          Flags
    1      1049kB  1050MB  1049MB  fat32        EFI system partition          boot, esp
    2      1050MB  1066MB  16.8MB               Microsoft reserved partition  msftres
    3       1066MB  65.1GB  64.1GB  ntfs         Basic data partition          msftdata
    4      65.1GB  256GB   191GB   ext4

    # USBドライブを接続し再度実行
    $ sudo parted -l
    Model: ATA TOSHIBA KSG60ZMV (scsi)                                                        
    Disk /dev/sda: 256GB                                                                      
    Sector size (logical/physical): 512B/4096B                                                
    Partition Table: gpt                                                                      
    Disk Flags:                                                                               
                                                                                          
    Number  Start   End     Size    File system  Name                          Flags          
    1      1049kB  1050MB  1049MB  fat32        EFI system partition          boot, esp      
    2       1050MB  1066MB  16.8MB               Microsoft reserved partition  msftres        
    3      1066MB  65.1GB  64.1GB  ntfs         Basic data partition          msftdata       
    4      65.1GB  256GB   191GB   ext4                                                      
                                                                                          
                                                                                          
    Model: StoreJet TS256GESD400K (scsi)     # ←これが増えていることに注目                                       
    Disk /dev/sdb: 256GB                                                                      
    Sector size (logical/physical): 512B/512B                                                 
    Partition Table: msdos                                                                    
    Disk Flags:                                                                               
                                                                                          
    Number  Start   End    Size   Type     File system  Flags                                 
    1      1049kB  256GB  256GB  primary       
    
    # ディスク全体をマウントしようとしてみる
    $ sudo mkdir /mnt/usb1  #マウントポイントを作成
    $ sudo mount /dev/sdb /mnt/usb1
    NTFS signature is missing.
    Failed to mount '/dev/sdb': Invalid argument
    The device '/dev/sdb' doesn't seem to have a valid NTFS.
    Maybe the wrong device is used? Or the whole disk instead of a
    partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

    # パーティションがあったので失敗、代わりにパーティション1をマウントしてみる
    $ sudo mount /dev/sdb1 /mnt/usb1
    $ ls /mnt/usb1/
    ProgramData  'Program Files (x86)' # 成功、中身が見えている                                                                             
  
このように一度マウントしてしまえば、どこにどのディスクをマウントしたかはdfコマンドなどで一目瞭然である。
    $ df
    Filesystem     1K-blocks     Used Available Use% Mounted on
    udev             3945060        0   3945060   0% /dev
    tmpfs             796192     1980    794212   1% /run
    /dev/sda4      182481384 14563804 158578344   9% /
    /dev/sda1        1019904    38164    981740   4% /boot/efi
    /dev/sdb1      250047488 36799488 213248000  15% /mnt/usb1  # ←これが今マウントしたもの
  
partedは"partition editor (パーティション編集器)" から取られており、 もともとはディスクのパーティション(領域の仕切り)を作成したり変更したりするためのソフトだ。 ディスクの内容を破壊することもできるので、ディスクを探したいだけなら-l以外の迂闊なオプションには 触らないほうが良い。