Установить Ubuntu из ISO-образа прямо с жесткого диска системы под управлением Linux?
Я не хочу записывать CD, DVD или USB-накопитель. И меня не волнует сохранение существующей операционной системы (Linux Mint). Я хочу установить Ubuntu (на самом деле Kubuntu 12.04 LTS) на компьютер прямо из образа ISO. Образ для Kubuntu Live DVD (3,5 ГБ).
Компьютер теперь загружен в Linux Mint. Набор шагов командной строки будет удовлетворительным. По моему мнению, мне просто нужно обмануть существующую систему, думая, что я вставил CD/DVD, верно?
Я знаю, что уже есть подобный вопрос, но у него нет хорошего ответа. Ответ в основном говорит: "Посмотрите эту ссылку". Я просмотрел ссылку и решил, что StackExchange нужен хороший ответ на этот вопрос. Кроме того, большинство ответов в других местах в Интернете предполагают, что пользователь приходит в Ubuntu из Windows. Поэтому я думаю, что этот вопрос требует хорошего ответа. Спасибо
2 ответа
Я нашел это, глядя вокруг в сети.
Grub2 может напрямую загружать ISO-образы для многих дистрибутивов Linux, если записи были правильно определены в файлах конфигурации Grub2.
Образ ISO должен быть размещен в отдельном разделе, на котором не установлена операционная система. Для простоты мы поместим его в новый каталог в /boot (при условии, что он находится в отдельном разделе).
Создайте новый каталог и скопируйте ваш образ ISO:
sudo mkdir /boot/iso sudo cp ~/Desktop/name.iso /boot/iso
куда
~/Desktop/name.iso
это местоположение и имя вашего ISO-образа, при условии, что изображение находится на вашем рабочем столе.Добавьте запись Grub2:
Запись для ISO-образа должна быть добавлена в
/etc/grub.d/40_custom
файл. Отредактируйте файл:gksudo gedit /etc/grub.d/40_custom
И замените текст в этом файле следующим:
#!/bin/sh echo "Adding 40_custom." >&2 exec tail -n +4 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "Kubuntu ISO" { set isofile="/boot/iso/kubuntu-12.04.iso" loopback loop (hd0,8)$isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject initrd (loop)/casper/initrd.lz }
Где:
Kubuntu ISO
= Имя, которое вы хотите отобразить в меню Grub.boot/iso/kubuntu-12.04.iso
= Местоположение и название вашего ISO-образа.(hd0,8)
= Раздел, который содержит образ ISO.- Обратите внимание
tail -n +4
означает просто "какая строка grub начинает читать конфигурацию как есть". 4-я строка в этом примере - первая строка комментария, что нормально.
Grub читает разделы не так, как Ubuntu. "hd0" означает первый жесткий диск, который читается как
sda
Ubuntu, и8
это раздел, который такой же, как и для Ubuntu. Другими словами, (hd0,8) означает "sda8".Чтобы узнать свой раздел, запустите эту команду в терминале:
sudo fdisk -l
Предположим, ваше изображение содержится в
sda1
раздел, вы бы изменить(hd0,8)
в приведенной выше строке(hd0,1)
и если изображение находится вsdb1
раздел, вы бы изменить(hd0,8)
в(hd1,1)
,Сохраните и закройте этот файл, а затем выполните эту команду:
sudo update-grub
Перезагрузите компьютер и выберите новую запись ISO из меню Grub. Надеюсь, он успешно загрузится на рабочий стол.
Теперь, если вы хотите выполнить установку с того же ISO, вам нужно сначала размонтировать образ ISO, так как он монтируется из раздела на вашем жестком диске (возможно, у вас есть один жесткий диск и вы хотите установить Ubuntu на тот же жесткий диск), и установщик должен отключить любые смонтированные разделы, прежде чем он сможет внести какие-либо изменения.
Итак, из среды Live CD перейдите в терминал и запустите:
sudo umount -l /isodevice
Это все. Теперь вы можете дважды щелкнуть значок "Установить" на рабочем столе и продолжить установку.
Больше информации смотрите на форумах Ubuntu 1 и Ubuntu Forums 2
Источник: TuxGarage
Я не мог использовать ответ Митча, потому что хотел установить Ubuntu минимальный, а образ ISO не работал (vmlinuz нет). Поэтому вместо этого я адаптировал его для использования NetbootInstall
Я поместил загруженные файлы в /boot/netboot и добавил следующую запись в конфигурацию grub:
menuentry "NetInstall" {
linux (hd0,0)/boot/netboot/ubuntu-installer/amd64/linux
initrd (hd0,0)/boot/netboot/ubuntu-installer/amd64/initrd.gz
}
Я тогда забыл бежать
sudo update-grub
поэтому мне пришлось снова загрузиться в существующий linux, но, наконец, обновив grub, фактическая установка прошла очень гладко.