Я хочу установить Debian на пустой раздел моего компьютера. На компьютере уже запущен Debian в другом разделе и установлен GRUB2. Я загрузил образ компакт-диска отсюда. Затем я скопировал его в /data и добавил пункт меню в grub.cfg:

menuentry "Debian install image" {
    set isofile="/data/debian-testing-amd64-netinst.iso"
    loopback loop (hd0,2)$isofile
    echo "Starting $isofile..."
    linux (loop)/install.amd/vmlinuz findiso=$isofile priority=low vga=788 ---
    initrd (loop)/install.amd/initrd.gz
}

Это загружает установщик, и все выглядит нормально. К сожалению, CDROM не может быть обнаружен. Я искал и нашел несколько потоков, которые предлагают мне смонтировать содержимое компакт-диска в /cdrom , но если я переключаюсь на новую консоль с ATL + F2 и пытаюсь смонтировать что-либо, то это говорит о invalid argument или о чем-то подобном. Я дважды проверил /dev и все специальные файлы на жестком диске есть (sda , sda1 , ...). Я пробовал как 10 разных руководств и ничего не работает.

  1. Что мне нужно сделать, чтобы продолжить установку?
  2. Какие другие опции мне нужно установить без физического привода CDROM или USB-накопителя?

Я уверен, что где-то есть рабочее руководство, и я просто не могу его найти. Пожалуйста, укажите мне один из них.

1 ответ1

2

Вот ответ на 2-й пункт: если у вас есть Debian и вы хотите установить Debian где-то еще, просто установите пакет debootstrap. Из его справочной страницы:

Debootstrap can be used to install Debian in a system without using an
installation disk but can also be used to run a different Debian flavor
in  a  chroot  environment.

просто смонтируйте установочный раздел в /mnt и попробуйте: debootstrap stretch /mnt .

Возможно, вам придется покончить с настройкой GRUB в конце для двойной загрузки.

Для начала: установочный компакт-диск загружается (используя el torito или grub в зависимости от носителя) с минимально заполненным образом виртуального диска, который намного меньше, чем весь образ компакт-диска. В нем отсутствуют какие-либо, кроме самых важных модулей ядра. В нем отсутствует ext4 (или btrfs ...), а также отсутствует цикл (используется для монтирования файловых образов). Итак, у вас есть проблема курицы и яйца: чтобы смонтировать компакт-диск (образ), содержащий эти отсутствующие модули ядра, вам нужны эти отсутствующие модули ядра.

Либо поместите образ компакт-диска непосредственно в раздел (без файловой системы), и настройте GRUB для загрузки с него. Надеемся, что установщик обнаружит компакт-диск (образ).

Или поместите его в файловую систему vfat, потому что vfat присутствует в исходном загрузочном образе (но не в ext4, btrfs ...). Затем извлеките из образа CD (перед установкой) или из ftp.debian.org/debian отсутствующий файл .udeb loop-modules и поместите его также в файловую систему vfat. Путь к файлу должен быть примерно таким:

/pool/main/l/linux-signed/loop-modules-4.7.0-1-amd64-di_4.7.6-1_amd64.udeb

Конечно, точное имя удеб со временем изменится.

ОБНОВЛЕНИЕ: также было упомянуто, что образ hd-media initrd.gz содержит непосредственно все необходимые модули (включая loop, ext4 ...). Это сжатый образ cpio, поэтому его можно использовать даже при загрузке с busybox, который может обрабатывать gunzip и cpio ( cd / && gunzip < /path/to/initrd.gz | cpio -i ) и может работать быстрее, чем udpkg.

Затем из консоли ALT+F2 вы можете смонтировать раздел vfat (mount -t vfat /dev/sdX /mnt), использовать udpkg -i для "установки" установочного цикла .udeb и modprobe loop Теперь любая из установок должна работать (меню : обнаружить и смонтировать CDROM, если он не удался раньше, или, если это не так, вы можете попробовать смонтировать его с помощью mkdir -p /cdrom; mount -o ro,loop -t iso9660 /mnt/debian-testing-amd64-netinst.iso /cdrom и надежда на лучшее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .