【Linux : Debian】fdiskでエラー:デバイスもしくはリソースがビジー状態です

Linux
スポンサーリンク

みなさん、こんにちは。ぶたキムチです。

今回は、fdiskコマンドでエラーが出たので、対策として行ったことを紹介したいと思います。

エラーというより、fdiskコマンドを使用する上での注意点になると思います。

Ubuntuや他のディストリビューションでも起こりうるので参考になれば幸いです。

使用した環境

OS:Debian9

今回の環境はWindows10にVirtualBoxをインストールして、仮想環境上にDebianを構築しました。

発生したエラー

入力コマンド:fdiskでUSBのパーティションを新規で作成しようとした。

sudo fdisk /dev/sdb

出力結果

Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): o
Created a new DOS disklabel with disk identifier 0xb1e0e7bf.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1               
First sector (2048-15228927, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-15228927, default 15228927): 

Created a new partition 1 of type 'Linux' and of size 7.3 GiB.

Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 83
Changed type of partition 'Linux' to 'Linux'.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: デバイスもしくはリソースがビジー状態です

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

 

今回、USBをfdiskで新規でパーティションを区切ろうとしたら、「Re-reading the partition table failed.: デバイスもしくはリソースがビジー状態です」とエラーが発生しました。

つまり、

パーティション作成をしようとしているデバイスが使用されていますよ

っていうエラーみたいです。そこで、以下のように対応しました。

対策:このエラーに対して実行したこと

とりあえず、USBがどのように認識されているか確認してみます。

デバイス情報はlsblkコマンドで確認することができます。

#lsblk
NAME                 MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                    8:0    0   32G  0 disk 
├─sda1                 8:1    0  243M  0 part /boot
├─sda2                 8:2    0    1K  0 part 
└─sda5                 8:5    0 31.8G  0 part 
  ├─atde7--vg-root   254:0    0 30.8G  0 lvm  /
  └─atde7--vg-swap_1 254:1    0    1G  0 lvm  [SWAP]
sdb                    8:16   1  7.3G  0 disk 
└─sdb1                 8:17   1  7.3G  0 part /media/debian/Sony_8GU
sr0                   11:0    1 73.6M  0 rom  /media/cdrom0

出力結果を見ると、USBは「/dev/sdb」という名称で認識されています。

そして、USBである「/media/debian/Sony_8GU」は「/dev/sdb1」にマウントされていることがわかります。

fdiskのエラーは、USBが自動でマウントされているため、fdiskが正常に動作しませんでした。

なので、USBをアンマウントしてあげましょう。

# umount /dev/sdb1

・アンマウント後

NAME                 MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                    8:0    0   32G  0 disk 
├─sda1                 8:1    0  243M  0 part /boot
├─sda2                 8:2    0    1K  0 part 
└─sda5                 8:5    0 31.8G  0 part 
  ├─atde7--vg-root   254:0    0 30.8G  0 lvm  /
  └─atde7--vg-swap_1 254:1    0    1G  0 lvm  [SWAP]
sdb                    8:16   1  7.3G  0 disk 
└─sdb1                 8:17   1  7.3G  0 part 
sr0                   11:0    1 73.6M  0 rom  /media/cdrom0

これで再度、fdsikコマンドを実行しましょう。

上手くいくはずです。

まとめ

まとめ:マウントされているデバイスは、パーティション操作はできないため、必ずアンマウント

再度、fdiskコマンドを実行してパーティション操作が完了したら、fdisk -l でちゃんと新規でパーティションが作成されているか確認しましょう。

-l オプションを使用することで、パーティションタイプの一覧表示ができます。

# fdisk - l

コメント

タイトルとURLをコピーしました