Alpine LVM-Installation mit UEFI / BIOS-Dual-Boot-Unterstützung
Ich möchte von Arch + Windows [GPT, Dual Boot mit integriertem EFI-Menü] zu Alpine + Windows [GPT, Unterstützung für ältere BIOS-Starts, XEN, LVM-Partitionen sowohl für Alpine als Dom0 als auch für virtualisierte Windows als Dom1 wechseln . Sagen wir es meine "Forschung" -Idee. Wie man eine Instanz von Fenstern in XEN erstellt und installiert, ist außerhalb des Gültigkeitsbereichs. Ich werde es alleine machen. Ich befasse mich mehr mit dem Boot-Vorgang: eigens konfigurierte Flags / Optionen, enthaltene Features / Module in initramfs usw. Die Installation wird auf einer externen Festplatte durchgeführt. Dafür gibt es zwei Gründe: (1) um sicher zu gehen, dass alles in Ordnung ist, bevor Sie zum integrierten Gerät wechseln, und (2) um die Lösung tragbar / live zu machen. Bitte keine GRUB . Sie möchten es nur mit SYSLINUX machen.
So "stelle" ich mir das Plattenlayout vor:
[mbrgpt.bin] # see [3] [protective MBR] [GPT table] EFI partition (FAT32, 200MB) # mount point is /mnt/EFI, see [1] LVM partition /boot (FAT32, 200MB) # mount point is /mnt/LVM/boot, see [2] / (EXT4, 40GB) # mount point is /mnt/LVM/root windows (NTFS, 60GB) ...
Dies ist meine Annahmenliste:
- [1] Ich brauche zu kopieren,
/usr/share/syslinux/efi64/syslinux.efi
wie/mnt/EFI/EFI/Boot/bootx64.efi
und erstellen/mnt/EFI/loader/entries/alpine.conf
. Der Inhalt des letzteren sollte mit übereinstimmensyslinux.cfg
. Als Referenz verwende ich: https://wiki.alpinelinux.org/wiki/Create_UEFI_boot_USB#Create_configuration_files_for_boot_loader - [2] Ich weiß, dass es keine gute Idee ist, einen Teil der LVM-Struktur zu erstellen, aber zu Forschungszwecken - er möchte sowieso ein logisches Volume sein (oder gar nicht erstellen). Ich habe im Arch Linux-Forum gehört, dass SYSLINUX dies unterstützt. Es wurden jedoch keine "Zeugen" im Internet gefunden.
- [3] Wenn ich von einem älteren BIOS-System aus boote,
gptmbr.bin
sollte es irgendwie zu finden und überspringen/mnt/LVM/boot/syslinux/ldsyslinux.c32
. Laden Sie dannsyslinux.cfg
und bestimmen Sie, wie der XEN-Kernel gestartet werden soll. - [*] Wenn ich von einem UEFI-System aus boote, werden
syslinux.efi
Starts und Optionen übernommenloader/entries/alpine.conf
(sicherlich sollte der Inhalt mit übereinstimmensyslinux.cfg
).
Es gibt einige Ungewissheit über die Dinge, die ich im Web nicht gefunden habe:
- Unterschied zwischen Syslinux
ldlinux.sys
undldlinux.c32
. In Archs Wiki gibt es einige Informationen, die besagen, dass sys loader ist und der Rest von c32 geladen wird. Nichts mehr.. - Unterschied zwischen Syslinux
mbr.bin
undgptmbr.bin
Boot-Records. Anscheinend ist das zweite was ich brauche.
Dies ist meine "TODO" -Liste (Dinge wie mkdir & umount wurden kurz übersprungen). Bitte beachten Sie, dass Schritte, die mit (?) Gekennzeichnet sind, zusätzliche Informationen benötigen:
1. Partitioning medium gdisk /dev/sdx # create new GPT table # create EFI partition and set type to "EFI System" (sdx1) # create Linux LVM part and set type to "Linux LVM" (sdx2) # set an attribute for EFI part (?) # known attributes are: 0: system partition 1: hide from EFI 2: legacy BIOS bootable (seems like this is what gptmbr.bin need to pick it up) 60: read-only 62: hidden 63: do not automount 2. Format EFI partition apk add dosfstools mkfs.fat -F 32 /dev/sdx1 3. Copy SYSLINUX's UEFI bootloader mount /dev/sdx1 /mnt/EFI cp /usr/share/syslinux/efi64/syslinux.efi /mnt/EFI/EFI/Boot/bootx64.efi 4. Install LVM apk add lvm2 rc-update add lvm # add device mapper modprobe dm-mod echo dm-mod >> /etc/modules 5. Create LVM layout pvcreate /dev/sdx2 vgcreate vg0 /dev/sdX2 # root lvcreate -n root -L 40G vg0 mkfs.ext4 /dev/vg0/root # boot lvcreate -n boot -L 200M vg0 mkfs.fat -F 32 /dev/vg0/boot # windows etc goes here ... 6. Rebuild initramfs mount /dev/vg0/root /mnt/LVM/root vi /etc/mkinitfs/mkinitfs.conf # append lvm to features=".." mkinitfs -c /etc/mkinitfs/mkinitfs.conf -b /mnt/LVM/boot 7. Create swap file mount /dev/vg0/root /mnt/LVM/root && cd /mnt/LVM/root fallocate -l 2G ./swapfile # or dd if=/dev/zero of=./swapfile bs=1M count=2048 chmod 600 ./swapfile mkswap ./swapfile swapon ./swapfile rc-update add swap # add '/swapfile none swap defaults 0 0' to /etc/fstab 8. Install SYSLINUX package & burn VBR apk add syslinux dd if=/usr/share/syslinux/gptmbr.bin of=/dev/sdx 9. Copy Alpine mount /dev/vg0/boot /mnt/LVM/boot setup-bootable /path/to/latest-alpine.iso /mnt/LVM/boot 10. Install SYSLINUX and tight things together syslinux --directory /boot/syslinux/ --install /dev/sdb1 vi /mnt/LVM/boot/syslinux/syslinux.cfg # (?) vi /mnt/EFI/loader/entries/alpine.conf # (?) Last. Store changes made locally into root lbu package - | tar -C /mnt/LVM/root -xzf -
Fragen:
- Sind die oben genannten Schritte ein guter Weg? Wenn ich etwas verpasst habe oder überkompliziert, lass es mich wissen.
- Muss ich
/dev/vg0/boot
irgendwie markieren,gptmbr.bin
um die Partition beim Booten finden zu können? - Kann ich mich von LVM Boot - Partition und Ersatz los
/mnt/LVM/boot
mit,/mnt/LVM/root
wo ich es erwähnt?
0 Antworten auf die Frage
Verwandte Probleme
-
2
Wenn ich die Vista-Partition lösche, wird dadurch der Bootloader für XP beschädigt?
-
4
Festplattenfehler beim Booten (mögliches Problem mit dem Bootsektor)
-
4
Wie installiere ich GRUB mit Windows Vista auf einem USB-Laufwerk?
-
1
Das Erstellen der LVM-Partition auf der SD-Karte schlägt mit "Gerät nicht gefunden" fehl
-
3
Wie installiere ich Windows 7 von eSATA?
-
3
Wie kann ich eine Partitionstabelle neu organisieren, ohne die Partitionen zu löschen?
-
3
Vista - MBR und Festplattenkopf gelöscht - wie wiederherstellen?
-
2
Durch die Vista-Startreparatur wird HD nicht bootfähig
-
1
LVM vs / dev / md0 Leistungsproblem
-
1
Linux LVM "keine Volumes gefunden" beim Booten