Používám Ubuntu 17.10.
Naformátoval jsem USB flash disk na NTFS, abych připravil Windows7 USB Installer.
Nastavil jsem bootovací příznak na tomto peru a zkopíroval jsem do něj soubory.
EDITACE 1:USB flash disk je automaticky připojen udev.
umount /dev/sdb1
dokončení trvá 10 až 12 minut.
Zde jsou možnosti připojení:
$ mount | grep sdb
/dev/sdb1 on /media/mansfeld/Win7_USB_Installer type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
ÚPRAVA 2:cp
operace není vůbec OKAMŽITÁ, zkopírování souborů na USB flash disk trvalo 3 minuty.
ÚPRAVA 3:sync
operace (provedená hned po cp
) dokončení trvalo 12 minut! Ale pak umount
bude okamžitý.
U FAT32 (se synchronizací také deaktivovanou během připojování) jsem zaznamenal stejné chování.
Nějaké nápady, proč odpojení USB flash disku NTFS trvá tak dlouho?
Přijatá odpověď:
Pravděpodobně trpíte nakládáním do vyrovnávací paměti ukládání do mezipaměti . Pro urychlení zápisu na USB klíčenky (a pevné disky obecně) používá Linux mezipaměť souborového systému:
Když si (myslíte, že) něco zapíšete na klíčenku, pak se to nejprve zapíše do mezipaměti (v RAM) a cp
příkaz (například) okamžitě vrátí a předstírá opravdu rychlou operaci zápisu. Zatímco děláte jiné věci, obsah mezipaměti se pak zapisuje na hůl na pozadí. Můžete si všimnout, že LED dioda na páce stále bliká a ukazuje operace zápisu (závisí na vaší páce), ačkoli se nic zjevně neděje.
Když zadáte umount
brzy po operaci zápisu a poté umount
čeká, dokud nebude veškerý obsah mezipaměti souborového systému zapsán na klíčenku, aby se zajistilo, že se žádná data neztratí.
Pomocí sync
můžete ručně vynutit vyprázdnění mezipaměti a zápis dat na klíčenku. Celkový uplynulý čas to však nezrychlí, protože pak budete muset počkat na sync
dokončit (místo čekání na umount
). Ale umount
se poté okamžitě vrátí, protože mezipaměť je již vyprázdněna.
V souhrnu máte po zkopírování velkých nebo mnoha souborů na klíč tři možnosti:
umount
a počkejte 10 minut na dokončenísync
, počkejte 10 minut na dokončení a potéumount
(vrátí se téměř okamžitě)- prostě počkejte 10 minut (možná o něco více) a nedělejte nic (nebo něco, co s tyčí nesouvisí) a pak problém
umount
. Protože se mezipaměť zapisuje na pozadí automaticky,umount
se pak také vrátí téměř okamžitě.