Я не хочу записывать CD, DVD или USB-накопитель. И я не забочусь о сохранении существующей операционной системы (Linux Mint). Я хочу установить Ubuntu (на самом деле Kubuntu 12.04 LTS) на компьютер непосредственно из ISO-образа. Образ предназначен для Kubuntu Live DVD (3,5 ГБ).
Теперь компьютер загружен в Linux Mint. Набор шагов командной строки был бы удовлетворительным. На мой взгляд, мне просто нужно обмануть существующую систему, заставив ее думать, что я вставил CD / DVD, верно?
Я знаю, что уже есть подобный вопрос, но на него нет хорошего ответа. Ответ в основном гласит: "посмотрите эту ссылку". Я просмотрел ссылку и решил, что StackExchange нуждается в хорошем ответе на этот вопрос. Кроме того, большинство ответов в других местах в Интернете предполагают, что пользователь переходит на Ubuntu из Windows. Поэтому я думаю, что этот вопрос нуждается в хорошем ответе здесь. Спасибо
Grub2 способен напрямую загружать ISO-образы для многих дистрибутивов Linux, если записи были правильно определены в файлах конфигурации Grub2.
ISO-образ должен быть размещен на отдельном разделе на нем не установлена операционная система. Для простоты мы бы поместили его в новый каталог под /boot (предполагая, что он находится в отдельном разделе).
Создайте новый каталог и скопируйте свой ISO-образ:
Где ~/Desktop/name.iso это местоположение и имя вашего ISO-образа при условии, что образ находится на вашем рабочем столе.
Добавьте запись Grub2:
Запись для ISO-образа должна быть добавлена в /etc/grub.d/40_custom файл. Отредактируйте файл с помощью:
gksudo gedit /etc/grub.d/40_custom
И замените текст в этом файле на этот:
#!/bin/shecho "Adding 40_custom." >&2exec 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 minimal, а ISO-образ не работал (нет vmlinuz). Поэтому вместо этого я адаптировал его для использования Сетевая загрузка
Я поместил загруженные файлы в /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, фактическая установка прошла очень гладко.
@fossfreedom - вы читали ответ на этот вопрос? На самом деле это не ответ - по крайней мере, он не кажется мне ответом, достойным StackExchange. Конечно, есть лучший ответ.