[1184061]После того, как Вы покопались немного больше, я нашел тонну системной информации в [1184425]/proc[1184426], которая доступна для просмотр при выполнении раздела [1184427]%pre[1184428] в [1184429]ks.cfg[1184430]. Проверьте дмидекод и файлы в /proc, чтобы получить всю необходимую информацию. Вот что мне помогло:
Обновил это с дополнительной информацией.... Вы также можете сделать следующее для информации о диске в разделе %pre:
Есть 2 вещи, которые нужно сделать [11808]. 1. Установите Linux OS (Kali) как обычно, но на шаге установки GRUB выберите корневой раздел для установки GRUB вместо всего диска. Т.е. sda7 не sda (если предположить, что sda7 - это раздел, выбранный в качестве корневого для установки )[11809]. 2. Скачайте [11810]grub2win[11811] и скопируйте в корень windows OS.[11812]. 3. Сделайте запись Linux в системном загрузчике windows, с помощью Chainload в корневой раздел из grub. Чтобы сделать open[11813] grub2win -> управлять -> добавлять новые -> os -> ubuntu -> chainload -> partition
ALSASound[snd_, "WAV"] := Module[{playCmd = "aplay", soundFileName},
soundFileName = "/dev/shm/" <> ToString[Unique["MmaSound"]] <> ".wav";
playCmd = playCmd <> " " <> soundFileName;
Export[soundFileName, snd, "WAV"];
Run["(" <> playCmd <> ";" <> "/bin/rm -f " <> soundFileName <> ")&"];]
Change[11814] Убунту в вашу операционную систему, если необходимо.[11815] Раздел для исправления номера раздела (помните sda7)[11816]. Сохранить изменения, перезагрузить. Теперь вы можете выбрать GRUB из загрузчика windows, а затем Linux.
Вероятно, вам не нужен grub
. Дело в том, что ваша прошивка UEFI - это ваш системный загрузчик - он уже есть. Когда вы загружаетесь через grub
, то на самом деле загрузчики chainload - это ненужная избыточность. Я использую rEFInd
- это только boot manager - он просто позволяет выбрать, что загружать, а затем перенаправляет обратно в прошивку и прошивка делает загрузку. Это не более чем меню.
Это хорошо, потому что ядро linux само по себе EFI исполняемый двоичный файл - вы можете загрузить linux без какого-либо менеджера загрузки/загрузчика, просто выполнив его из прошивки. Я бы тоже порекомендовал эту опцию, но она не так гибка, как промежуточный менеджер меню вроде rEFInd
, потому что вы должны полагаться на разработчиков микропрограмм для обеспечения такого интерфейса - и это может быть не так уж и просто. Но если вам интересно заглянуть в интерфейс efibootmgr
- это потребует установки постоянных переменных прошивки.
Ниже приведено руководство по использованию сначала dd
, а затем gdisk
, чтобы убедиться, что у вас есть загрузочный системный раздел EFI.
Для того, чтобы таблица разделов была полностью ясна перед началом, вы должны записать на этот диск несколько очень ранних блоков:
dd ibs=4M count=1 if=/dev/zero of=/dev/${USB_DISK}
Теперь мы попадаем в gdisk
. Замените все, что /dev/....
файл устройства, на котором находится ваш usb диск для /dev/${USB_DISK}
:
gdisk /dev/${USB_DISK}
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): ?
Используйте ?
, чтобы меню сначала просмотрело все опции, но сначала нужно записать чистую таблицу разделов GPT: o
:
...
Proceed? (Y/N): y
Далее вам понадобится EFI-системный раздел. Используйте команду n
для создания n
ew раздела. В нижеприведенных подсказках, где вы не видите введенного ключа, я просто нажал ENTER
, чтобы согласиться со значением по умолчанию:
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-1331166, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-1331166, default = 1331166) or {+-}size{KMGTP}: 500M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef00
Если вы нажмете L
в последнем приглашении выше, вы получите список всех доступных типов разделов, но что вам нужно, так это ввести ef00
для efi системного раздела. Сделайте n
снова столько раз, сколько нужно для создания других разделов, которые могут понадобиться для /
или подкачки, или чего угодно. Опять же, используйте L
для просмотра различных типов, но по умолчанию 8300 должен работать для всех, кроме swap.
Взгляните на новую таблицу разделов с помощью p
, затем следуйте за ней с помощью w
, если вам нравится, чтобы она выглядела так, чтобы записать ожидаемые изменения:
...
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
Теперь создайте толстую
файловую систему на вашем EFI-разделе. -n
называет раздел. Я люблю использовать ESP
:
mkfs.vfat -n ESP /dev/${USB_DISK}1
mkfs.fat 3.0.26 (2014-03-07)
Используйте mkfs.${желаемый_файл_системы}. /dev/${USB_DISK}[num]
для всех остальных разделов, которые вам могут понадобиться. Лучше всего, если вы используете эту файловую систему --help
, чтобы узнать, как указать метку GPT для раздела.
Получите refind.bin.*.zip
и найдите здесь , затем распакуйте его на диск и установите системный загрузчик:
mkdir /tmp/refind
unzip ~/Downloads/refind-bin-0.7.9.zip -d $_
...
$_/ref*/install.sh --usedefault /dev/${USB_DISK}
Not running as root; attempting to elevate privileges via sudo....
Installing rEFInd on Linux....
UnmountEsp = 1
Copied rEFInd binary files
Copying sample configuration file as refind.conf; edit this file to configure
...
Теперь у вас есть системный загрузчик. После установки linux-системы на диск вам нужно будет сделать следующее:
mkdir -p /mnt/bootdisk/
mount /dev/${USB_DISK}1 /mnt/bootdisk
mkdir -p /mnt/bootdisk/EFI/kali_linux/
cp ${kali_root}/boot/vmlinuz-* \
/mnt/bootdisk/EFI/kali_linux/
cp ${kali_root}/boot/initrd-* \
/mnt/bootdisk/EFI/kali_linux/
printf %s\\n "LABEL=${GPT_LABEL} /esp vfat defaults 0 1" \
"/esp/EFI/kali_linux /boot none bind,defaults 0 0" \
| sudo tee -a /etc/fstab
mkdir /esp
mount -a
Это почти готово. Вам нужно будет немного настроить rEFInd
. Замените метку GPT вашей корневой файловой системы на ${GPT_LABEL}
ниже:
echo '"Kali" "root=LABEL=${GPT_LABEL} rootwait"'\
>/mnt/bootdisk/EFI/kali_linux/refind_linux.conf
Это должно дать вам загрузочную систему. Пожалуйста, просмотрите главный refind.conf
в .../BOOT
- он очень хорошо прокомментирован и сам по себе довольно много документов. Вы также захотите зайти на rodsbooks.com и прочитать там документы.
На данный момент я установил grub-pc
на флеш-накопитель с разделами MBR. Установлен Kali Linux на внешний жесткий диск с разделами GPT. Каждый раз, когда я хочу использовать Kali Linux, я переключаю настройки BIOS на Legacy и вставляю флешку для загрузки. Цепочка GRUB загружает его на мой жесткий диск, где установлен Linux, и на данный момент у меня все работает нормально. Но это альтернативный метод, и я все еще жду решения моей проблемы.