ææ°ã®OSã®èªã¿èŸŒã¿ã¯ã©ã®ããã«æ©èœããŸããïŒ ã·ã¹ãã ãã€ã³ã¹ããŒã«ãããšãã«ãããã¥ã¢ã«ã«ownãããäœããå£ãããããã«UEFIçµç±ã§ããŒããèšå®ããæ¹æ³ã¯ïŒ
ç§ã¯ãæãéãã¬ã€ãããçŽæããŸããã ããã«ãããŸãïŒ
- ãã£ã¹ã¯ã«GPTããŒãã£ã·ã§ã³ããŒãã«ãäœæãã
- æ°çŸã¡ã¬ãã€ãã®FAT32ããŒãã£ã·ã§ã³ãäœæããŸã
- UEFIããŒãããŒããŒãã€ã³ã¿ãŒãããããããŠã³ããŒãããŸã
ïŒããŒãããŒããŒèªäœãå¿ èŠã§ããããã¯1ã€ã®ãã€ããªãã¡ã€ã«ã§ãïŒïŒ - ãã®ãã¡ã€ã«ã®ååãå€æŽãã/ EFI / Boot / bootx64.efiã§äœæãããããŒãã£ã·ã§ã³ã«é 眮ããŸã
- ããã¹ãèšå®ãäœæããããŒããŒãèŠããå Žæã«é
眮ããŸã
ïŒæ§æã®æ§æãšå Žæã¯ãããŒãããŒããŒã®ç¹å®ã®å®è£ ã«äŸåããŸãããã®æ å ±ã¯ã€ã³ã¿ãŒãããã§å ¥æã§ããŸãïŒ - åèµ·ååŸãããŒãããŒããŒã¡ãã¥ãŒã衚瀺ãããŸã
ïŒWindows 8ãŸãã¯10ããã£ã¹ã¯ã«ã€ã³ã¹ããŒã«ãããŠããå Žåããã®ããã¥ã¢ã«ã¯ãã€ã³ã3ãã5ã«åæžãããå¯èœæ§ãéåžžã«é«ãã§ããïŒ
TL; DRã¯ããŒãããŒããŒãžã®ãã¹ãæ°ããUEFIããŒãã¬ã³ãŒãã«ç»é²ããå¿ èŠããããŸãã-UEFIãèŠã€ããæšæºã®ãããã©ã«ããã¹ãã«åŸã£ãŠããŒãããŒããŒãã¡ã€ã«ãé 眮ããå¿ èŠããããUEFIããŒãã¡ãã¥ãŒã®ä»£ããã«ããŒãããŒããŒã¡ãã¥ãŒã䜿çšããŸãã
ããªãæ¹æ³
å®éãUEFIããŒããæ§æããã«ã¯ããã€ãã®æ¹æ³ããããŸãã ä»ã®ãªãã·ã§ã³ã説æããããšããå§ããŸã- ããªããå¿ èŠãšããªãæ¹æ³ïŒããã³çç±ïŒãæ確ã«ãªãããã« ã ããªããã¬ã€ãã³ã¹ã®ããã«æ¥ãå Žå-颚ãã
NVRAMã«ä¹ã£ãŠefivarsã«è§Šããå¿ èŠã¯ãããŸãã
ã·ã¹ãã ã«ããŒãããŒããŒãã€ã³ã¹ããŒã«ããããã®æãã人æ°ã®ãããæé ã¯æ¬¡ã®ãšããã§ããOSã€ã³ã¹ããŒã©ãŒã¯ããã®äžã«ç¹å¥ãªã»ã¯ã·ã§ã³ãäœæããŸã-ãã£ã¬ã¯ããªæ§é ãšããŒãããŒããŒãã¡ã€ã«ãé 眮ããŸãã ãã®åŸãç¹å¥ãªãŠãŒãã£ãªãã£ïŒLinuxã§ã¯efibootmgrãWindowsã§ã¯bcdeditïŒã䜿çšããŠãUEFIãããã®ãã¡ãŒã ãŠã§ã¢ãšå¯Ÿè©±ããããŒãã¬ã³ãŒããè¿œå ããŸãã ãã®ãšã³ããªã¯ãããŒãããŒããŒãã¡ã€ã«ïŒãã¡ã€ã«ã·ã¹ãã ã®ã«ãŒãããéå§ïŒãžã®ãã¹ãšãå¿ èŠã«å¿ããŠãã©ã¡ãŒã¿ãŒã瀺ããŸãã ãã®åŸãOSãèµ·åãããªãã·ã§ã³ãã³ã³ãã¥ãŒã¿ãŒã®èµ·åã¡ãã¥ãŒã«è¡šç€ºãããŸãã Linuxã®å ŽåãããŒãããŒããŒãå®å šã«çãããšãã§ããŸãã ããŒãã¬ã³ãŒãã¯ããã¹ãŠã®ãã©ã¡ãŒã¿ãŒãšå ±ã«ã«ãŒãã«ãžã®ãã¹ãããã«ç€ºããŸãã ã«ãŒãã«ã¯EFISTUBãªãã·ã§ã³ïŒã»ãšãã©ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®æšæºã§ããïŒã䜿çšããŠã³ã³ãã€ã«ããå¿ èŠããããŸãããã®å ŽåããEFIå®è¡å¯èœãã¡ã€ã«ãã®ããããŒãå«ãŸããå€éšããŒãããŒããŒãªãã§ãã¡ãŒã ãŠã§ã¢ãå®è¡ã§ããŸãã
ã·ã¹ãã ã®èµ·åæããŠãŒã¶ãŒãå¿ èŠãªããŒãã¬ã³ãŒããéžæãããšãUEFIãã¡ãŒã ãŠã§ã¢ã¯ãŸããã®ã¬ã³ãŒãã§æå®ããããã£ã¹ã¯äžã®ç¹å¥ãªEFIããŒãã£ã·ã§ã³ãæ¢ãããã®ããŒãã£ã·ã§ã³äžã®ãã¡ã€ã«ã·ã¹ãã ïŒå¿ èŠã«å¿ããŠFATãŸãã¯FAT32ïŒã«ã¢ã¯ã»ã¹ããããŒãããŒããŒãèµ·åããŸãã ããŒãããŒããŒã¯ãèšå®ãã¡ã€ã«ããèšå®ãèªã¿åããOSãããŒãããããããŒãã¡ãã¥ãŒãæäŸããŸãã äœãæ°ã¥ããŸãããïŒ ã¯ãã2ã€ã®ããŒãã¡ãã¥ãŒããããŸãã1ã€ã¯UEFIããããã¡ãŒã ãŠã§ã¢ã¬ãã«ããã1ã€ã¯ããŒãããŒããŒã¬ãã«ã§ãã å®éã«ã¯ããŠãŒã¶ãŒã¯2çªç®ã®é ç®ã®ååšãæšæž¬ããããšããã§ããŸãããã¡ãã¥ãŒã«é ç®ã1ã€ãããªãå ŽåãWindowsããŒãããŒããŒã¯äžèŠãªè³ªåãªãã«ãã®é ç®ã®èªã¿èŸŒã¿ãéå§ããŸãã Windowsã®2ã€ç®ã®ã³ããŒãã€ã³ã¹ããŒã«ããããåã«äžæ£ã«åã€ã³ã¹ããŒã«ãããšããã®ã¡ãã¥ãŒã§ç»é¢ã衚瀺ãããŸãã
éåžžãããŒãã¬ã³ãŒãã管çããã«ã¯ãã€ã³ã¿ãŒãããäžã®ããã¥ã¢ã«ã§UEFIãã¡ãŒã ãŠã§ã¢ãšã®å¯Ÿè©±ããå§ãããŸãã ãããè¡ãããã®5ã€ã®åºæ¬çãªãªãã·ã§ã³ããã§ã«ãããŸãïŒLinuxã§ã®efibootmgrãWindowsã§ã®bcdeditãMacã§ã®ããçš®ã®ãœãããŠã§ã¢ãuefiã·ã§ã«ãŠãŒãã£ãªãã£ã®bcfgã³ãã³ãïŒUEFIããã¢ã¡ã¿ã«ãOSãªãã§èµ·åãããŸãããã®éåžžã«ç¹å¥ãªåœ¢åŒã§ã³ã³ãã€ã«ãããïŒãšç¹ã«é«å質ã®ãã¡ãŒã ãŠã§ã¢-ã°ã©ãã£ã«ã«UEFIããŒã«ã䜿çšããŠïŒäžè¬çãªèšèªã§ããBIOSèšå®ãã§ïŒã
äžèšã®ãã¹ãŠã®ããã«ãããã¯ãã«ã€ããŠã次ã®èããç°¡åã«èŠéããŠããŸãå¯èœæ§ããããŸãïŒãŠãŒã¶ãŒã¯ããœãããŠã§ã¢ããŒãã®èšå®ãå€æŽããïŒããšãã°ãOSã¹ã¿ãŒãã¢ãããã©ã¡ãŒã¿ãŒãè¿œå ããïŒããã«ãããŒãäžã®ãã€ã¯ããµãŒãããã®ãã©ãã·ã¥ã¡ã¢ãªãäžæžãããããšãäœåãªããããŸãã ããã«èœãšãç©Žã¯ãããŸããïŒ ããããïŒ Windowsã¯ã©ãããããããã¬ã³ã¬ãäœãããšãã§ããããšããããŸãããLinux ã å€ãã®æ¹æ³ã§ã§ããŸã ã ãã¡ãŒã ãŠã§ã¢ã®å質ã¯ãå€ãã®å ŽåãæãŸãããã®ãæ®ããŸã-UEFIæšæºã¯ãæ²ãã£ãŠå®è£ ããããããŸã£ããå®è£ ãããŸããã è«ççã«ã¯ããã¡ãŒã ãŠã§ã¢ã¯çµæãªãã§ãã¹ãŠã®efivarså€æ°ã®å®å šãªåé€ã«èãããããã«éèŠãªããŒã¿ãä¿åãããç¬èªã«ããã©ã«ãå€ã埩å ããå¿ èŠããããŸã-ãŠãŒã¶ãŒããããã«ã¢ã¯ã»ã¹ããã ãã§ãå®å šãªåé€ã®å¯èœæ§ã¯ãŒãã«ã¯ã»ã©é ãã§ãã å®éšã®éçšã§ãç§ã¯å人çã«ïŒå¹žãã«ããå¯éçã«ïŒLenovoãç¹°ãè¿ããããªãã¯ãããŸããããèšå®ã«ç§»åããªãã·ã§ã³ãå«ãããŒãã¡ãã¥ãŒã®ãã¹ãŠã®é ç®ãæ¶ããŸããã
UEFIããŒãã¬ã³ãŒãã®æäœãç ç³ã§ã¯ãããŸããã ããšãã°ãefibootmgrãŠãŒãã£ãªãã£ã«ã¯ãæ¢åã®ãšã³ããªãç·šéããããªãã·ã§ã³ããããŸããã ã«ãŒãã«ãã©ã¡ãŒã¿ãŒããããã«å€æŽããå Žåã¯ãã¬ã³ãŒãå šäœãåé€ããŠãæ¢ã«å€æŽæžã¿ã®ã¬ã³ãŒããå床远å ããŸãã æååã«ã¯ãäºéåŒçšç¬ŠãšäžéåŒçšç¬Šãããã³ããŸãæ確ã§ã¯ãªãé ã®ã¹ã©ãã·ã¥ãšããã¯ã¹ã©ãã·ã¥ãå«ãŸããŠããŸãã æçµçã«ãã®éæ³ã®ä»äºããããšã-ç§ã¯ãŸã ã«ãŒãFSã«ããbashã¹ã¯ãªããã®åœ¢ã§ä¿åããŸããïŒ
efibootmgr -c -L "Archlinux (debug)" -l '\EFI\archlinux\vmlinuz-linux' -u "root=/dev/mapper/vg1-lvroot rw initrd=\EFI\archlinux\initramfs-linux.img systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M enforcing=0"
GRUBã䜿çšããå¿ èŠã¯ãããŸãã
ããã¯ããŸããŸãããã¹ããã³ã§ããã®æ©èœã®90ïŒ ã¯MBRãåãããã£ã¹ã¯çšã§ãã æ§æããã«ã¯ãããã€ãã®ãã¡ã€ã«ãç·šéããŠãããæ§æçæã³ãã³ããå®è¡ããå¿ èŠããããŸãã åºåã¯ãæ®éã®äººã«ã¯ãããã«ãã巚倧ãªã·ãŒãã§ãã äžéšãšããŠ-å®è¡å¯èœãã¡ã€ã«ã®å±±ã ããŒã ããå¯ããããã®ã¯ãé ããæãåºããªããšããããšã§ããå¿ ãããã¥ã¡ã³ããèªãå¿ èŠããããŸãã
grub-install --target=x86_64-efi --efi-directory=esp_mount --bootloader-id=grub
æ¯èŒã®ããã«-systemdããã±ãŒãžã®äžéšã§ããæãåçŽãªUEFIããŒãããŒããŒã¯ãã³ãã³ãã«ãã£ãŠèšå®ãããŸã
bootctl install --path=/boot
ãã®ã³ãã³ãã¯ãæ£ç¢ºã«2ã€ã®ããšãè¡ããŸããããŒãããŒããŒå®è¡å¯èœãã¡ã€ã«ãEFIããŒãã£ã·ã§ã³ã«ã³ããŒãããã®ããŒãã¬ã³ãŒãããã¡ãŒã ãŠã§ã¢ã«è¿œå ããŸãã ãããŠããã®èšå®ã«ã¯æ£ç¢ºã«7è¡ãå¿ èŠã§ãã
ãæçã¬ã€ãã-ããå°ã詳ãã
ããŒãã¡ãã¥ãŒã¯ãããŒãããŒããŒã¬ãã«ã§å®è£ ããå¿ èŠããããŸã -ããã¹ãèšå®ã®ç·šéã¯ãã¯ããã«ç°¡åã§å®å šã§ãã
ããŒãã¬ã³ãŒãã¯å¿ èŠãããŸãããäºå®ããã£ã¹ã¯ããããŒãããããã«BIOSãã»ããã¢ãããããšããUEFIãã¡ãŒã ãŠã§ã¢ã¯ãŸããã®ãã£ã¹ã¯äžã®EFIããŒãã£ã·ã§ã³ãæ¢ãã次ã«ãã®ã»ã¯ã·ã§ã³ã®å³å¯ã«åºå®ãããã¢ãã¬ã¹ã§ãã¡ã€ã«ãå®è¡ããããšããŸãïŒ/EFI/Boot/BOOTX64.EFI
EFIããŒãã£ã·ã§ã³ãšã¯äœã§ããïŒ çè«çã«ã¯ãç¹å¥ãªã¿ã€ãã®ãEFIã·ã¹ãã ãïŒef00ïŒãå¿ èŠã§ãã å®éã«ã¯ãFAT32ã§ãã©ãŒããããã ãããŒãããŒããŒãšè£å©ãã¡ã€ã«ïŒååšããå ŽåïŒãå容ããã®ã«ååãªã¹ããŒã¹ãããGPTãã£ã¹ã¯ã®æåã®ããŒãã£ã·ã§ã³ãé©ããŠããŸãã
ãã€ã³ã3ïŒ ãã€ã³ã¿ãŒãããããUEFIããŒãããŒããŒãããŠã³ããŒãããŸã ã ã ããã¯ã©ãããæå³ã§ããïŒ ããŒãããŒããŒã¯ãç¹å®ã®åœ¢åŒã®å®è¡å¯èœãã¡ã€ã«ã§ããããããã«ã¯æ§æãå«ãŸããŠããŸãã ããšãã°ãsystemdãã€ã³ã¹ããŒã«ããããã±ãŒãžãæå ã«æã£ãŠããå ŽåãããŒãããŒããŒãã¡ã€ã«ã¯/usr/lib/systemd/boot/efi/systemd-bootx64.efiã«ãããååãbootx64.efiã«å€æŽããŠ/ EFI / Bootã«ã³ããŒã§ããŸãã / EFIããŒãã£ã·ã§ã³äžã æå ã«ã·ã¹ãã ã¯ãããŸãããïŒ Archlinux Webãµã€ãããã¢ãŒã«ã€ããããŠã³ããŒãããŸãã ãŸãã¯ãUbuntuãªããžããªããã ãŸãã¯Debianã æå ã«Windowsã·ã¹ãã ã¯ãããŸããïŒ ããããWindowsããŒãããŒããŒã䜿çšããŠãã ããããããå®è¡ã§ããŸãïŒïŒèšå®ã§ããå Žåã¯ãæ£çŽã«è©ŠããŠããªãã
é ç®4ïŒ ãConfigure Configã ã éåžžã®ããã°ã©ã ãšåæ§ã«ãããŒãããŒããŒã¯èµ·åæã«ç¹å®ã®ãã¹ã§æ§æãã¡ã€ã«ãèŠã€ããããšãæåŸ ããŸãã éåžžããã®æ å ±ã¯ã€ã³ã¿ãŒãããã§ç°¡åã«èŠã€ããããšãã§ããŸãã systemd-bootããŒããŒã®å ŽåãEFIããŒãã£ã·ã§ã³ã®ã«ãŒãã«ãããŒããŒããã£ã¬ã¯ããªãäœæãããã®äžã«3è¡ã®ãã¡ã€ã«ãloader.confããäœæããå¿ èŠããããŸãïŒããã«èªåçšïŒã
default archlinux timeout 10 editor 1
ãšãã£ã¿ãŒãã©ã¡ãŒã¿ãŒã¯ãèµ·ååã«ããŒãã¡ãã¥ãŒé ç®ãç·šéããæ©èœãæ åœããŸãã
loader.confã®æšªã«ããšã³ããªãã£ã¬ã¯ããªãäœæããå¿ èŠããããŸãããã®äžã®1ã€ã®ãã¡ã€ã«ããããŒãã¡ãã¥ãŒã®1ã€ã®ããŒããšã³ããªãæ åœããŸãã 次ã®å 容ã®1ã€ã®arch.confãã¡ã€ã«ããããŸãã
title Arch Linux linux /efi/archlinux/vmlinuz-linux initrd /efi/archlinux/initramfs-linux.img options root=/dev/mapper/vg1-lvroot rw initrd=\EFI\archlinux\intel-ucode.img
ç§ã¯èšåããŸããã§ããããããã¯ããªãæçœã§ã-ã«ãŒãã«ãšinitramfsã¯ããŒãããŒããŒãšåããã¡ã€ã«ã·ã¹ãã ãã€ãŸãEFIããŒãã£ã·ã§ã³äžã«ãªããã°ãªããŸããã æ§æå ã®ããããžã®ãã¹ã¯ããã®FSã®ã«ãŒãããã«ãŠã³ããããŸãã
ãã®ä»ã®ããŒãããŒããŒ
systemd-bootã¯éåžžã«ã·ã³ãã«ã§ãè³ªçŽ ãªé»ãšçœã®ã¡ãã¥ãŒãæäŸããŸãã éãçŸãæ±ãããªãããã£ãšçŸããéžæè¢ããããŸãã
rEFindã¯éåžžã«åªããããŒãããŒããŒã§ãã ãã¡ãããdebããã±ãŒãžãšããŠããŠã³ããŒãã§ããŸã ã ç§ã¯ã©ãããããã§äœ¿çšããŸãã ãã¡ã€ã«ãã¹ãã£ã³ããã ãã§ãèšå®ãªãã§ããŒãã¡ãã¥ãŒãèªåçã«äœæã§ããŸãã
ã¯ããŒã㌠ã ãã€ãã£ãã®ç»é¢è§£å床ãèšå®ããããããŒãç»é¢ã§ããŠã¹ããµããŒãããããããŸããŸãªããŒããèšå®ãããã§ããŸãã ããã©ã«ãã®ããŒãã¯ã²ã©ãã§ããxmlæ§æãèªããªããæ§æã§ããŸããã§ããã
ããŸããŸãªæããã§ãªãçµæ
äœæ¥äžã«ãã®åè·¯ãç°¡åã«è©Šãããšãã§ããŸãã USBãã©ãã·ã¥ãã©ã€ããåãåºããGPTããŒãã£ã·ã§ã³ããŒãã«ã§ãã©ãŒãããããFATããŒãã£ã·ã§ã³ãäœæããããã«ããŒãããŒããŒãã³ããŒããŸãã Compã¯ããããéå§ã§ããŸãã
ã€ã³ã¹ããŒã«ããLinuxã®ããŒãã»ã¯ã·ã§ã³ããã®ãããªUSBãã©ãã·ã¥ãã©ã€ãã«åçŽã«ã³ããŒãããšãã·ã¹ãã ã¯USBãã©ãã·ã¥ãã©ã€ãããéããªãèµ·åããŸãã