Создать USB-установщик для установки Ubuntu из командной строки?

Я пытаюсь создать загрузочный образ USB для установки Ubuntu на новый компьютер.

Я сделал это до того, как следовал инструкциям " создать USB-накопитель" для рабочего стола Ubuntu, но у меня нет рабочего стола Ubuntu.

Как я могу сделать то же самое, используя только командную строку?

Вещи, которые я пробовал:

  • Создайте загрузочный USB на Mac OS X, следуя инструкциям ubuntu.com "создать USB диск" для Mac: не загружается.
  • usb-creator: В соответствии сapt-cache search usb-creatorа википедия usb-creator существует только как графический инструмент.
  • Инструкции по "созданию вручную" на help.ubuntu.com: ни один из описанных файлов и каталогов (например, casper, filesystem.manifest, menu.lst) существуют в образе ISO, и я не знаю, что их заменило.
  • Скрипты unetbootin: требуется X-сервер (поддержка графики), даже если он полностью написан. (Команда sudo unetbootin lang=en method=diskimage isofile=~/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yes выдает сообщение об ошибке unetbootin: cannot connect to X server.)

Обновить

Также пробовал GRUB возиться: слияние информации из

Я смог добраться на полпути - он загрузился с USB, отобразил меню grub и начал установку, но установка не завершилась.

Для справки, это самое близкое, что я получил:

sudo su
  # mount USB pen
mount /dev/sd[X]1 /media/usb
  # install GRUB
grub-install --force --no-floppy --root-directory=/media/usb /dev/sd[X]
  # copy ISO image to USB
cp ~/ubuntu-10.10-server-amd64.iso /media/usb
  # mount ISO image, copy existing grub.cfg
mount ~/ubuntu-10.10-server-amd64.iso /media/iso/ -o loop
cp /media/iso/boot/grub/grub.cfg /media/usb/boot/grub/

Я тогда отредактировал /media/usb/boot/grub.cfg чтобы добавить петлю.iso, пример записи grub:

menuentry "Install Ubuntu Server" {
  set gfxpayload=keep
  loopback loop /ubuntu-10.10-server-amd64.iso  
  linux (loop)/install/vmlinuz  file=(loop)/preseed/ubuntu-server.seed iso-scan/filename=/ubuntu-10.10-server-amd64.iso quiet --
  initrd (loop)/install/initrd.gz
}

При загрузке с USB это даст мне загрузочное меню Grub и запустит установщик, но установщик сдался после пары экранов, жалуясь, что не может найти привод CD-ROM. (Естественно, поскольку в коробке, на которую я устанавливаю, нет оптического привода.)

Я решил эту конкретную проблему, отказавшись и выполнив процедуру "создания USB-накопителя" с помощью настольного компакт-диска Ubuntu Live (на компьютере с оптическим приводом), после чего установка USB работает.

Но я ожидаю, что есть какой-то способ сделать это из командной строки системы Ubuntu без X-сервера и без оптического привода, поэтому вопрос остается в силе.

Кто-нибудь знает как?

7 ответов

Решение

При загрузке с USB это даст мне загрузочное меню Grub и запустит установщик, но установщик сдался после пары экранов, жалуясь, что не может найти привод CD-ROM.

Это известная ошибка в Ubuntu Server iso (рабочий стол iso работает отлично), но есть исправление для получения пакетов от iso на USB-диске: один раз в установщике, Ctrl+Alt+f2, чтобы открыть tty и в терминал:

mount -t vfat /dev/sdX1 /mnt
ln -sf /mnt/ubuntu-server.iso /dev/sr0

Затем вернитесь к установщику и повторите сканирование пакетов. Он должен работать.

Вы пробовали с # dd if=path/to/image.iso of=/dev/sd#?

Допустим, у вас есть только подсказка. Если у вас есть графический интерфейс, вы можете открыть терминал и сделать все, что описано здесь. Или вы можете использовать tty.

ПРЕДУПРЕЖДЕНИЕ:
Чтобы избежать возможного повреждения, очень и очень внимательно следуйте инструкциям.

  • Переключитесь на приглашение root, набрав sudo su

    Определите, какое устройство USB.

  • tail -f /var/log/syslog

Теперь у вас есть живое представление в системном журнале. Подключите USB-накопитель. Вы должны увидеть некоторые сообщения на экране. Что-то вроде этого.

May 27 00:35:07 Mahesh kernel: [ 5054.646585] usb 2-1.1: new high-speed USB device number 5 using ehci_hcd
May 27 00:35:07 Mahesh kernel: [ 5054.741437] scsi8 : usb-storage 2-1.1:1.0
May 27 00:35:07 Mahesh mtp-probe: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1"
May 27 00:35:07 Mahesh mtp-probe: bus: 2, device: 5 was not an MTP device
May 27 00:35:08 Mahesh kernel: [ 5055.739177] scsi 8:0:0:0: Direct-Access     JetFlash TS2GJFV30        8.07 PQ: 0 ANSI: 2
May 27 00:35:08 Mahesh kernel: [ 5055.740198] sd 8:0:0:0: Attached scsi generic sg3 type 0
May 27 00:35:08 Mahesh kernel: [ 5055.741593] sd 8:0:0:0: [sdc] 4005888 512-byte logical blocks: (2.05 GB/1.91 GiB)
May 27 00:35:08 Mahesh kernel: [ 5055.742214] sd 8:0:0:0: [sdc] Write Protect is off
May 27 00:35:08 Mahesh kernel: [ 5055.742218] sd 8:0:0:0: [sdc] Mode Sense: 03 00 00 00
May 27 00:35:08 Mahesh kernel: [ 5055.742712] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.742715] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.745326] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.745329] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.781564]  sdc: sdc1
May 27 00:35:08 Mahesh kernel: [ 5055.784191] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.784196] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.784200] sd 8:0:0:0: [sdc] Attached SCSI removable disk

посмотрите на это и найдите одну вещь в квадратных скобках, повторяющуюся? sdc в этом случае. Запишите это на листе бумаги. Введите Ctrl+C, чтобы перейти к подсказке.

Найдите ISO-файл для записи на USB.

Если файл iso находится в /path/to/iso/somecd.iso; запишите этот путь на листе бумаги.

Запись на USB

Предупреждение:

Это сотрет весь USB-диск. Резервное копирование, прежде чем продолжить.

  • dd if=/path/to/iso/somecd.iso of=/dev/sdc ibs=20M obs=20M

замещать /path/to/iso/somecd.iso с фактическим путем к вашему файлу iso.

замещать /dev/sdc с тем, что вы записали ранее. Если повторяющаяся часть sdb; использование /dev/sdb и так далее.

Предупреждение:

Неправильный ввод буквы диска приведет к постоянной потере данных на другом диске. Обратите особое внимание при оформлении dd команда.

Создание загрузочной флешки Ubuntu USB из терминала

  • Смонтировать ubuntu.iso файл. Для этого выполните следующие команды в терминале,

    sudo mkdir /media/iso
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • Затем скопируйте все файлы из /media/iso в вашу подключенную папку флешки в /media,

    Вставьте USB-флешку.

    Он будет автоматически смонтирован, когда вы его вставите. Ваш USB-раздел должен быть смонтирован внутри /media. Предположим, что ваш USB-накопитель установлен внутри /media/xxxx Папка. Затем выполните следующую команду,

    cp -a /media/iso/. /media/xxx
    

    Бежать lsblk Команда, чтобы узнать раздел устройства USB.

  • Затем вставьте ldlinux.sys файл внутри раздела вашего флэш-накопителя USB (в моем случае / dev / sdd1), чтобы сделать USB загрузочным. Для этого выполните следующие команды:

    sudo apt-get install syslinux mtools
    syslinux -s /dev/sdd1
    
  • Войдите в /media/xxx папку и переименуйте isolinux каталог для syslinuxЗатем перейдите в переименованную папку syslinux и переименуйте файл. isolinux.cfg в syslinux.cfg,

       mv /media/xxx/isolinux /media/xxx/syslinux
       mv /media/xxx/syslinux/isolinux.cfg /media/xxx/syslinux/syslinux.cfg
    
  • Перезагрузите компьютер и измените boot-order в BIOS к USB. Теперь ваша USB-флешка Ubuntu загрузится, и вы сможете установить ее.

Этот метод будет работать для любых дистрибутивов Linux, не только для Ubuntu.

Я решил эту конкретную проблему с помощью рабочего стола Ubuntu Live CD.

Загрузив Live CD на компьютер с оптическим приводом, я мог использовать настольные инструкции Ubuntu для создания установщика USB-пера, не затрагивая существующую установку.

Вы можете взломать usb-creator, чтобы сделать это.

У вас уже должен быть один раздел vfat в качестве раздела 1 на устройстве usb (это выполняется на шаге стирания диска usb-creator-gtk), и он должен быть помечен как загрузочный.

Далее, мы получим код Python usb-creator, чтобы помочь нам.

$ sudo apt-get install usb-creator

или же

$ bzr branch lp:usb-creator

создайте файл с этим содержимым и назовите его usb-creator-cli, если вы используете bzr на последнем шаге, поместите этот файл в каталог usb-creator (корень ветки bzr)

#!/usr/bin/env python
from __future__ import print_function
from usbcreator.misc import sane_path, setup_gettext, setup_logging, text_type

from usbcreator.install import install

sane_path()
setup_logging()
setup_gettext()

#/dev/sdb1 should be mounted on /mnt
#iso should be mounted to /iso
dev = '/dev/sdb1'
source = '/iso'
target = '/mnt' 
ugh = install(source, target, False, device=dev)
ugh.success = print
ugh.failure = print
ugh.progress = print
ugh.progress_message = print
ugh.progress_pulse = print
ugh.progress_pulse_stop = print
ugh.retry = print
ugh.run()

Сделайте это исполняемым

$ chmod +x usb-creator-cli

Теперь смонтируйте ваш iso в / iso и подключите USB-устройство к /mnt

$ sudo mkdir /iso ; sudo mount ubuntu-server-12.10-amd64.iso /iso
$ sudo mount /dev/sdb1 /mnt

Если вам нужны очень подробные сообщения на вашей консоли, вы можете написать ~/.cache/usb-creator.log

$ tail -f ~/.cache/usb-creator.log &

Теперь запустите этот скрипт usb-creator-cli

$ sudo ./usb-creator-cli

И смотреть все сообщения прокрутки.

Когда вы вернетесь к подсказке, не забудьте размонтировать /mnt, прежде чем выдернуть USB-накопитель.

Вы можете установить Ubuntu из командной строки (CLI), используя Alternate Install или Mini iso (который должен уместиться на вашей 512 Мб флешке)

Затем установите Crunchbang, используя альтернативный метод: http://crunchbanglinux.org/forums/topic/26/crunchbang-linux-81001-alternative-installation/

Вы также можете попробовать облегченную версию CrunchBang, которая составляет менее 512 МБ.

Вы можете использовать Unetbootin для подготовки флешки.

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