как мы можем передавать бесконечные команды, такие как yes?

Поскольку вы сказали, что в вашей системе нет EFI, ваша система загружается в старом стиле BIOS. И то, с чем вы имеете дело, является типичным ограничением BIOS.

И загрузчик, который используется при загрузке с использованием старого стиля BIOS с DVD, — это не GRUB, а ISOLINUX, вариант Syslinux , предназначенный специально для загрузки с компакт-дисков, DVD-дисков и других носителей, использующих файловая система ISO9660.

Вы пытаетесь применить команды, предназначенные для GRUB, к ISOLINUX, и это определенно не сработает.

Другая проблема заключается в том, что загрузчик обычно не использует собственные драйверы, а опирается на поддержку микропрограммы. В вашем случае это означает поддержку BIOS, и есть добавленная морщинка :, чтобы максимизировать обратную совместимость уровня BIOS -вплоть до исходного IBM PC/AT (, выпущенного в 1986 году или около того )., поддержка дисководов CD/DVD и USB-накопителей в BIOS добавлена ​​-для модулей, которые обычно вступают в игру только тогда, когда вы специально выбираете загрузку с них в настройках BIOS.

Таким образом, если вы выберете загрузку с DVD, BIOS будет поддерживать доступ к DVD, но не к USB-накопителю; и наоборот, если вы выбрали загрузку с USB-накопителя. Если вы загружаетесь с обычного жесткого диска, поддержка как DVD, так и USB-накопителей обычно будет отключена, пока ваша ОС не загрузит драйверы для них.

(В более новых системах я видел некоторые исключения для этого :некоторые системы имеют параметр BIOS для включения «устаревшей поддержки USB-накопителей», что позволяет постоянно включать поддержку USB-накопителей на уровне BIOS -. Но это определенно не стандартная функция.)

Каталог /boot/grub/x86_64-efiиспользуется только при загрузке с DVD в стиле EFI :, в этом случае загрузчиком будет GRUB, и могут быть доступны описанные вами команды insmod.Но поскольку EFI, в отличие от BIOS, обычно обеспечивает полную поддержку USB-накопителей и устройств CD/DVD в любое время, вам, вероятно, они в любом случае не понадобятся, если только системная прошивка EFI не содержит ошибок. (Что, к сожалению, встречается чаще, чем с BIOS, поскольку EFI по-прежнему не хватает примерно 30-летней истории разработки, которая есть у BIOS.)

Debian 9 DVD 1, по-видимому, также был подготовлен с помощью isohybridили аналогичного инструмента, так что его можно записать на USB-накопитель с помощью простого ddили подобного инструмента.

При таком подходе у него есть еще один уровень гибридного разделения :у него есть таблица разделов MBR, которая указывает на два раздела, один из которых покрывает почти весь образ с файловой системой ISO9660, а другой представлен как раздел MBR с типом 0xef. содержащий загрузочный раздел EFI. Фактически основная загрузочная запись содержит некоторый код, который пытается загрузить isolinux.bin, если вы попытаетесь загрузиться с этого ISO -на -USB в стиле BIOS.

Но вы также можете рассматривать его как жесткий диск с форматированием GPT -:он также имеет таблицу разделов GPT, которая описывает то же самое.

0
08.01.2021, 21:10
1 ответ

Хотя команда A может производить бесконечный вывод, команда B будет считывать только конечную его часть. Когда команда B выходит из (или закрывает свой входной файловый дескриптор ), канал будет разорван.

После этого любая запись в конвейер из команды A приведет к тому, что ядро ​​отправит сигнал SIGPIPEкоманде A. Действие по умолчанию SIGPIPE— завершить процесс.

2
18.03.2021, 22:38

Теги

Похожие вопросы