Використання команди 'dd' для створення завантажувальної USB-накопичувача


11

Чому ISO-зображення деяких ароматів Ubuntu можна наносити на USB-накопичувач командою dd та завантажувати успішно, а інші аромати - ні? Крім того, схоже, це залежить і від конкретного USB-накопичувача. Я спробував зі стандартним Ubuntu:

$ sudo dd if=./ubuntu.iso of=/dev/sdd bs=8129

Це працює як шарм, я маю на увазі: завантажувати та встановлювати або запускати Ubuntu в реальному часі. Але коли я використовую іншу USB-флешку, підготовлену так само, вона не може завантажитися з операційною системою, не знайдена помилка BIOS.

Коли я пробую Ubuntu GNOME, він просто не завантажується з тією ж помилкою, що і в попередньому прикладі, незалежно від того, якою однією USB-палкою я користуюся.

Я знаю, що в Ubuntu є додаток Startup Disk Creator , але я переконався, що це лише фасад GUI для простої команди dd , і я завжди можу використовувати dd для створення завантажувальної USB-накопичувача, принаймні для Linux. Я помиляюся?


Я особисто використовую Unetbootin, і ніколи не виникав проблем.
Тім

Відповіді:


5

Якщо ви запускаєте програму Startup Disk Creator, ви помітите, що вона робить три (чотири) речі:

  1. Відформатуйте диск
  2. Скопіюйте дані з ISO на диск
  3. (Додайте додатковий файл Casper 1 для збереження, якщо його вибрано. ddНе дає вам наполегливості.)
  4. Встановіть завантажувач

Це не графічний інтерфейс для dd(є графічні інтерфейси для dd, але SDC не з них). Ви можете подумати про це як еквівалент ручних методів Arch Linux або Gentoo . Ви повинні мати можливість створити завантажувальний USB, використовуючи більшість (досить популярних) установочних ISO-систем на даний момент. Це було неправдою близько трьох-чотирьох років тому, коли я дивився на Арк. Лише у 2010 році всі ISO ISO отримали цю функцію (де ви могли записати її безпосередньо на USB-накопичувач) - з 2008 по 2010 рік вони мали спеціальні зображення USB.

Крім того, якщо ви працюєте ddбезпосередньо з диском, він ефективно читається лише до тих пір, поки ви його не відформатуєте або не використаєте решта місця якось. Диск, створений SCD, як і раніше використовується як USB-накопичувач, хоча вміст недоступний із прямого середовища. Таким чином, якщо ви маєте dd1 Гб ISO на 8 або 16 ГБ USB-накопичувач, ви ефективно відмовляєтеся від місця, що залишився, якщо не буде зроблено додаткових кроків.


1 Зазвичай більшість живих зображень використовують файл SquashFS для кореневого розділу. SquashFS доступний лише для читання, тому для наполегливості створюється casper-rwфайл у /casper. Я не впевнений у походженнях casper. З того, що я розумію, під час завантаження цього boot=casperпараметра ядро ​​накладає каспер-файл (створюючи такий, якщо такого не існує) поверх сквошів, так що він отримує можливість запису. casperне повинен бути файлом, він також може бути розділом .


Що таке "файл каспера"? Будь ласка, поясніть.

@ MikołajBartnicki Я не дуже впевнений у собі, але відповідь я оновив.
муру

Каспер - це привид (якого ви всі знаєте). Як ви сказали, він накладає деякі папки у файловій системі ro. Вивчення файлової системи із запущеного живого зображення з увімкненою стійкістю показує деякі каталоги "верхній" та "нижній", які існують як у системах лише для читання, так і в записі, але з'являються як такі у запущеній системі, дещо схожі на кріплення на вже існуюча папка
oneindelijk

2

спробуйте спочатку:

su -c 'mkfs.vfat /dev/sdc -I'

Щоб зробити завантажувальний usb диск з iso-файлу за допомогою команди dd , диск не може мати розділи типу / dev / sdc1 (один із чотирьох можливих первинних розділів disk / dev / sdc ). Ви не можете клонувати блоки ISO-файлу до основного розділу, оскільки DVD або CD не мають його також. Ось чому ви повинні створити файлову систему саме на диску / dev / sdc , а не в первинному розділі.

Крім того, ви допустили кілька помилок, ввівши команду dd .

Спробуйте це:

su -c 'dd if=/home/user/debian.iso of=/dev/sdc bs=4M;sync;eject /dev/sdc'

ваша команда не виправляється без mkfs.vfat спочатку. може бути, якщо ви також встановите завантажувач і зробите розділ активним. Інші usb-накопичувачі не працюють, можливо, тому що ваш порт може бути наданий іншому порту, або у вас немає сили для роботи живої USB-операційної системи, можливо, працює HDD-накопичувач та інший usb-диск, для чого потрібна більша потужність, ніж зазвичай. Чим середнє споживання енергії цього типу пристроїв (наприклад, HD-диски у зовнішньому випадку з usb від sata adapter)


2

Ви навіть можете створити завантажувальну USB-накопичувач cp(мені це здається набагато простішим, ніж ddабо графічним інтерфейсом):

sudo cp path/to/ISO /dev/sdX


Пам'ятайте, що його /dev/sdXслід замінити на ім'я вашого блокового пристрою (наприклад /dev/sdb, /dev/sdc).


1
Це було для мене справді новим. Разом з progress unix.stackexchange.com/a/301329/87264 він також показує прогрес
Jonas Eberle
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.