Добавьте FreeBSD к меню начальной загрузки GRUB2

Да, Вы могли рассматривать его как дефект безопасности в том, как файл Unix и полномочия каталога определены и реализованы. Это - компромисс; это позволяет Вам, например, предоставить пользовательский доступ к каталогу глубоко в ограниченной иерархии, если они знают путь.

Обходное решение должно вложить ограниченные каталоги так, чтобы Вы предположили несколько компонентов, прежде чем можно будет получить доступ к действительно уязвимой информации. Но конечно, это действительно не добавляет безопасность, просто мрак.

root пользователь может обойти любое из этих ограничений так или иначе, таким образом, это, тем не менее, не особенно безопасно. Если Вы хотите разумную безопасность, многопользовательская система, вероятно, не, где необходимо быть.

11
19.09.2014, 05:39
6 ответов

Здесь является моим:

menuentry "FreeBSD" --class freebsd --class bsd --class os {
 insmod ufs2
 insmod bsd
 set root=(hd0,1)
 kfreebsd /boot/kernel/kernel
 kfreebsd_loadenv /boot/device.hints
 set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s1a
 set kFreeBSD.vfs.root.mountfrom.options=rw
 set kFreeBSD.hw.psm.synaptics_support=1
}
9
27.01.2020, 19:57
  • 1
    сделал Вы генерируете его с тестером OS, или Вы сделали это сами. также, который файл, в который входила директива? –  r004 14.01.2014, 13:08
  • 2
    делает sda1, переводят в hd0,1 ? действительно ли это верно, что grub2 запускаются от 1 не 0? –  r004 14.01.2014, 13:14
  • 3
    Нет, этот / не автоматически генерируется. Я имею, записал это в/etc/grub.d/40_custom, проверьте это: wiki.archlinux.org/index.php / … –  uzsolt 14.01.2014, 13:35
  • 4
    Да, (hd0,1) является sda1. –  uzsolt 14.01.2014, 13:35
  • 5
    freebsd находится в/dev/sda1, но sda1 является частью раздела (согласно bsd терминологии); и это содержит a / и swap раздел. Как я должен предшествовать затем? большое спасибо –  r004 18.01.2014, 23:13

Сделайте это в этом порядке:

  1. Отредактируйте Ваш /etc/grub.d/40_custom и добавьте директивы uzsolt. Добавьте директиву в конце файла. Не удаляйте ничего, что является там.

  2. Удостовериться 40_custom исполняемый файл. Если не затем chmod u+x 40_custom.

  3. Теперь сделайте это для записи изменений в grub.cfg.

    grub2-install /dev/sda 
    os-prober 
    grub2-mkconfig -o /boot/grub/grub.cfg
    
  4. Tada! Перезагрузите теперь; у Вас должен быть FreeBSD в Вашем списке ОС в меню GRUB.

Чтобы иметь доступ к Вашей части раздела UFS, необходимо сделать следующее:

  1. Отредактируйте свою конфигурацию ядра для добавления UFS filesystem и UFS label.

  2. Затем make && make_modules Ваше ядро.

  3. Установите программное обеспечение файловой системы UFS.

  4. Смонтируйте свою Часть UFS в соответствии с Вашим Linux:

    sudo mkdir /mnt/freebsd && sudo mount -r -t ufs -o ufstype=ufs2 /dev/sda1 /mnt/freebsd
    
2
27.01.2020, 19:57

Моей целью было..: Загрузить FreeBSD 10 из Grub2, отредактировав 40_custom в /etc/grub.d

My Setup: FreeBSD10 находится на пятом hdd моей системы (/dev/sde под Linux, так что hd4 для Grub2. Помните, что под Grub2 hd начинается с hd0 для дисков, а разделы с 1 и далее, а не с нуля). Корневой раздел является вторым (/dev/sde2), так как при установке я использовал Guided разметку FreeBSD (используйте весь диск) (простейший). Напомним, что это: установите root='(hd4,2)' для пятого раздела hdd и второго раздела.

информация: (на самом деле chainloader +1 не требуется ! Следующее приводит меня непосредственно к загрузчику FreeBSD).

Подводя немного итог: вы просто должны адаптировать набор root=(x,x), больше ничего не нужно. Если вы хотите загрузить ядро напрямую, то все немного сложнее, чем указано ниже.

menuentry "FreeBSD 10.0" {
    insmod part_gpt
    set root='(hd4,2)'
    kfreebsd /boot/loader
}

Я был немного разочарован os-prober, который только что нашел 'Unknown linux distribution on /dev/sde2'

ps: не забудьте потом 'update-grub' и Taddaa (надеюсь). :) Если кто-нибудь добьется успеха, бросьте мне msg, я буду рад услышать это от вас!

4
27.01.2020, 19:57

В вики Arch Linux есть очень хорошее объяснение того же. Он управляет обычным способом, то есть прямой загрузкой ОС, а также загрузкой по цепочке.

Однако не следует забывать выполнить sudo grub-mkconfig -o /boot/grub/grub.cfg, чтобы зафиксировать изменения.

1
27.01.2020, 19:57

Согласно этот сайт :

  1. Загрузите Linux.
  2. Создайте файл /boot/grub2/custom.cfg .
  3. Добавьте эти строки в созданный файл:

     menuentry "FreeBSD" {
    set root = '(hd0,3)' 
    kfreebsd / boot / loader 
    } 
     

    где hd0,3 означает, что это первый жесткий диск, а FreeBSD находится на третьем разделе (поскольку диски нумеруются от 0, а разделы - с 1). Возможно, вам придется скорректировать эти числа. Один из способов узнать, какие у вас диски, - запустить fdisk -l .

  4. Запустите grub2-mkconfig -o /boot/grub2/grub.cfg.

Помните, что ваши команды могут немного отличаться. grub2-mkconfig может быть grub-mkconfig и так далее (это был мой случай с BunsenLabs Linux).


Помните, что я использовал FreeBSD с UFS вместо ZFS на этой машине. Представленное решение не работает для установок на основе ZFS, насколько я слышал.

2
27.01.2020, 19:57

В настоящее время в Ubuntu 20.04 и FreeBSD 12.x все работает.

/etc/grub.d/40 _пользовательский файл в Ubuntu, добавьте следующее:-

root@a44h-ubuntu:/home/xxxxxxx# more /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $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 "FreeBSD" {
        insmod ufs2   
        chainloader (hd0,msdos1)/boot/boot 
        #does not work for me
        #set root=(hd0,1)     #does not work for me
        #kfreebsd /boot/boot0 #does not work for me
        #chainloader +1       #does not work for me
}

Затем включите меню диспетчера загрузки при загрузке, измените:-

#GRUB_TIMEOUT_STYLE="hidden"
GRUB_TIMEOUT_STYLE="menu"

затем выполните:

root@a44h-ubuntu:/home/xxxxxxx# update-grub

Во FreeBSD ничего делать не нужно.

hd0— первый жесткий диск, а msdos1s1.

0
02.08.2020, 07:44

Теги

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