Поскольку мои навыки программирования явно не соответствовали этой задаче, я разработал метод решения этой проблемы, временно установив работающую систему Lubuntu на флэш-накопитель и используя Дэниел Рихтер - превосходнейший настройщик grub , чтобы дать себе рабочую отправную точку. Я систематически просматривал код, комментируя строки и разделы, которые, по моему мнению, могли быть ненужными для моих целей, тестируя изменения по мере продвижения. Пример с комментариями (без пунктов меню) можно найти здесь для тех, кто может заинтересоваться процессом. Ниже приведен протестированный фрагмент кода (используемый для Legacy Boot ) после редактирования, который у меня остался после удаления большинства комментариев и ненужных разделов. Похоже, что большинство моих проблем было связано с неправильной обработкой linux_gfx_mode
, terminal_output
и background_image
(и установкой root). Как я предполагал в своем редактировании, переменные в файле grub.cfg выражаются иначе, чем в сценариях grub. Я не сомневаюсь, что это можно улучшить, и когда я обнаружу упрощения, я буду их редактировать.
set have_grubenv=true
load_env
set timeout=10 #added
set default=2 #added
menuentry_id_option=""
export menuentry_id_option
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
#if [ x$feature_default_font_path = xy ] ; then
#font=unicode
#else
##Scrapped if-then-else above required? - NO?
insmod part_msdos
insmod ext2
search --no-floppy --set=root --label freedom
font=/boot/grub/fonts/unicode.pf2
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=/boot/grub/locale
set lang=en_US
insmod gettext
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
search --set=root --label freedom
### Begin Background setup ###
insmod png
set menu_color_normal=yellow/black
set menu_color_highlight=black/light-gray
if background_image /boot/grub/splash.png; then
true
else
set menu_color_normal=green/black
set menu_color_highlight=black/light-gray
fi
### END Background setup ###
### BEGIN setup graphics ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
### End setup graphics ###
Источники:
https://answers.launchpad.net/~danielrichter2007
Прежде чем продолжить, найдите время, чтобы понять, какие выпуски Scientific Linux и что вы можете и чего не можете делать при обновлении с одного на другой: https://www.scientificlinux.org/documentation/faq/faq- releases/
SL5 больше не поддерживается/не распространяется. Загрузите и используйте SL6x или SL7x:
Scientific Linux 6x LiveDVD (64-битная)
Scientific Linux 6x LiveDVD (32-битная)
Scientific Linux 7x LiveDVD (Gnome) (64-битная)
Scientific Linux 7x LiveDVD (KDE) ) (64-битная)
Предпочитайте версию 7x, если вам явно не нужна 32-битная версия.
Теперь, когда у вас есть правильные ISO-образы, для создания загрузочного USB-носителя вам нужно использовать команду dd
или аналогичную или любую другую графическую программу для этой цели, например Rufus для Windows. В Ubuntu настоятельно рекомендуется MKUSB:
sudo add-apt-repository universe # only for standard Ubuntu
sudo add-apt-repository ppa:mkusb/ppa # and press Enter
sudo apt-get update
sudo apt-get install mkusb mkusb-nox usb-pack-efi
MKUSB довольно удобен для пользователя. Подробную информацию см. в кратком руководстве пользователя.
Теперь, когда у вас есть живой носитель SL, просто загрузитесь с него и либо запустите в реальном времени, либо установите в режиме двойной загрузки.
Если вы не знаете, как выполнить установку, и/или хотите установить систему только временно, и/или хотите настроить несколько хостов внутри частной сети ( или любая другая экзотическая фантазия, плавающая в вашей лодке), то установка в среде виртуальной машины может быть лучшим вариантом, чем попытка установить систему с двойной загрузкой.
Используя, например, Oracle VirtualBox, легко настроить виртуальную машину с размером диска, требованиями к памяти и т. д.что вам нужно (конечно, ограниченное доступными ресурсами хост-машины). Кроме того, вам не нужно записывать CD-ROM или DVD, поскольку файл ISO может быть смонтирован в виртуальном приводе CD-ROM гостевой ОС.
Если вы запутались, просто удалите машину и начните заново. Если вы довольны настройкой, но планируете ее серьезное обновление, сделайте снимок, чтобы вы могли вернуться к работающей системе, если вы напортачите с тем, что собираетесь делать.
Я запускаю три машины с OpenBSD на своем единственном ноутбуке с Windows внутри VirtualBox. Я редко использую Windows для других целей, кроме просмотра веб-страниц и Slack. В виртуальной среде происходит вся моя работа.