дождитесь полной записи команды dd на диск

Я использую команду dd для создания загрузочного USB-файла из iso-файла:

sudo dd if=~/Desktop/ubuntu.iso of=/dev/sdx bs=1M

После нажатия клавиши enter он мгновенно завершает работу и дает мне:

915+0 records in 915+0 records out 959447040 bytes (959 MB) copied,
0.539375 s, 1.8 GB/s

работает в фоновом режиме, потому что я вижу, что флешка работает. В конце концов, это прекратит копирование, и я могу успешно удалить диск, но возникает вопрос , почему команда dd не ожидает завершения копирования. Почему это работает в фоновом режиме. И как я могу заставить его ждать?

13
задан 9 July 2013 в 20:08

2 ответа

Попробуйте:

sudo dd if=~/Desktop/ubuntu.iso of=/dev/sdx conv=fdatasync bs=1m

conv=fdatasync говорит dd использовать специальные опции, чтобы убедиться, что данные записываются на физическое устройство.

0
ответ дан 9 July 2013 в 20:08

Несмотря на распространенное мнение, dd - совершенно обычная команда, она не более низкого уровня, чем cat или cp. Ваша команда читает из дискового кэша и записывает в дисковые буферы, как любая другая команда.

Чтобы убедиться, что данные полностью записаны на физический носитель, вам нужно позвонить sync. Команда sync сбрасывает все выходные буферы на диск (и). Когда возвращается команда sync, данные полностью записаны.

sudo dd if=~/Desktop/ubuntu.iso of=/dev/sdx bs=1M; sync

Большую часть времени вам не нужно звонить sync, потому что размонтирование файловой системы делает ту же работу. При возврате команды umount или при получении подтверждающего сообщения после нажатия кнопки «Извлечь» буферы были записаны на диск. Здесь вы напрямую записываете на диск, не проходя через смонтированную файловую систему, поэтому вам необходимо явно очистить буфер.

Обратите внимание, что вместо dd вы можете использовать tee. Это имеет два преимущества: меньше риска инвертировать источник и пункт назначения из-за опечатки, и это , вероятно, немного быстрее .

<~/Desktop/ubuntu.iso sudo tee /dev/sdx >/dev/null; sync
0
ответ дан 9 July 2013 в 20:08

Другие вопросы по тегам:

Похожие вопросы: