GNU/Linux >> Znalost Linux >  >> Linux

Opětovné načtení tabulky oddílů se nezdařilo s chybou 16:Zařízení nebo prostředek zaneprázdněn

Zdá se, že toto zařízení je namontováno. Spusťte umount /dev/sdb1 a zkuste to znovu.


Za předpokladu, že to získáváte v důsledku automatizace (např. pomocí expect ) fdisk operace (a že oddíl není ve skutečnosti připojen), zkuste přidat několik sekund zpoždění po úpravě oddílu a před zápisem oddílu.

Při pokusu o automatizaci volání na fdisk se mi zobrazila stejná chyba na Centos 7.6 a la:

# (echo "d"; echo "";
        echo "n"; echo ""; echo 3; echo 2001954; echo "";
        echo "w") | fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): Partition number (1-3, default 3): Partition 3 is deleted

Command (m for help): Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): Using default response p
Partition number (3,4, default 3): First sector (2001954-31116287, default 2002944): Last sector, +sectors or +size{K,M,G} (2001954-31116287, default 31116287): Using default value 31116287
Partition 3 of type Linux and of size 13.9 GiB is set

Command (m for help): The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
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)
Syncing disks.


Měl jsem podezření, že můj zavedený příkazový stream odhalil problém s načasováním v fdisk (to by se nespustilo pomalejším/ručním vstupem), tak jsem začal kropit sleep příkazy ke zpoždění různých vstupů, dokud chyba nezmizí. Problém v mém případě byl, že w došlo příliš brzy po definování nového oddílu.

A sleep 5 před w vede k trvalému úspěchu:

# (echo "d"; echo "";
        echo "n"; echo ""; echo 3; echo 2001954; echo "";
        sleep 5; echo "w") | fdisk /dev/sdb

Linux
  1. Chyba instalace ConfigParser – python setup.py egg_info se nezdařilo s kódem chyby 1 [Vyřešeno]

  2. Linux – určit velikost blokového zařízení?

  3. Linux – Jak najít ovladač (modul) spojený se zařízením v Linuxu?

  1. Jak opravit chybu „Ověření klíče hostitele se nezdařilo“

  2. Ovládání USB napájecího zdroje (on/off) s Linuxem

  3. chyba:příkaz 'gcc' selhal se stavem ukončení 1 na CentOS

  1. Jak zašifrovat oddíl pomocí DM-Crypt LUKS na Linuxu

  2. Nepodařilo se podepsat Csr pomocí kořenového klíče Ca?

  3. Úloha docker pro docker.service se nezdařila, protože proces řízení byl ukončen s kódem chyby