ã¯ããã«
ææ°ã®ã³ã³ãã¥ãŒã¿ãŒãã¶ãŒããŒãã®ãã¡ãŒã ãŠã§ã¢ã¯UEFIä»æ§ã«åŸã£ãŠåäœãã2013幎以éãã³ã³ãã¥ãŒã¿ãŒãããŒããããããä¿è·ããããã«èšèšãããããŠã³ããŒãããã°ã©ã ãšã»ãã¥ã¢ããŒããã©ã€ããŒã®èªèšŒæè¡ããµããŒãããŠããŸãã ã»ãã¥ã¢ããŒãã¯ã眲åãããŠããªãããŸãã¯ä¿¡é ŒãããŠããªãããã°ã©ã ã³ãŒãã®å®è¡ããããã¯ããŸããããã°ã©ã ã®.efiãã¡ã€ã«ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããŒãããŒããŒãè¿œå æ©åšã®ãã¡ãŒã ãŠã§ã¢ïŒOPROMãããªã«ãŒãããããã¯ãŒã¯ã¢ããã¿ãŒïŒãã»ãã¥ã¢ããŒãã¯ã©ã®ã¹ãã¢ã®ãã¶ãŒããŒãã§ãç¡å¹ã«ã§ããŸããããã®èšå®ãå€æŽããããã®å¿ é èŠä»¶ã¯ã³ã³ãã¥ãŒã¿ãŒã«ç©ççã«ååšããããšã§ãã ã³ã³ãã¥ãŒã¿ãŒã®èµ·åæã«UEFIèšå®ã«å ¥ãå¿ èŠããããŸããããããªããšããã¯ãããžãŒãç¡å¹ã«ããããèšå®ãå€æŽãããã§ããŸããã
ã»ãšãã©ã®ãã¶ãŒããŒãã«ã¯ä¿¡é Œã§ãããã€ã¯ããœããããŒã®ã¿ãä»å±ããŠãããããããŒããœãããŠã§ã¢ã®äœæè ã¯ããŒãããŒããŒã®çœ²åã«ã€ããŠãã€ã¯ããœããã«é£çµ¡ããç£æ»æé ãå®è¡ãããã©ã€ããŸãã¯ãã©ãã·ã¥ãã©ã€ããäžå¿ èŠã«å®è¡ãããå Žåã¯ãã¡ã€ã«ã®ã°ããŒãã«çœ²åã®å¿ èŠæ§ãæ£åœåããå¿ èŠããããŸãã»ãã¥ã¢ããŒããç¡å¹ã«ããããåã³ã³ãã¥ãŒã¿ãŒã§ããŒãæåã§è¿œå ããŸãã
ãã€ã¯ããœããã¯ãLinuxãã£ã¹ããªãã¥ãŒã·ã§ã³ããã€ããŒãã€ã¶ãŒããŠã€ã«ã¹å¯ŸçããŒããã£ã¹ã¯ãããã³ã³ã³ãã¥ãŒã¿ãŒå埩ããã°ã©ã ã®éçºè åãã®ããŠã³ããŒããŒã«çœ²åããå¿ èŠããããŸãã
ã»ãã¥ã¢ããŒããç¡å¹ã«ããã«èµ·åããããŸããŸãªã³ã³ãã¥ãŒã¿ãŒå埩ãœãããŠã§ã¢ã䜿çšããŠãèµ·åå¯èœãªUSBãã©ãã·ã¥ãã©ã€ããäœæãããã£ãã®ã§ãã ãããå®è£ ããæ¹æ³ãèŠãŠã¿ãŸãããã
眲åãããããŒãããŒããŒããŠã³ããŒããŒ
ãã®ãããã»ãã¥ã¢ããŒããæå¹ã«ããŠLinuxãèµ·åããã«ã¯ã眲åãããããŒãããŒããŒãå¿ èŠã§ãã ãã€ã¯ããœããã¯ãã©ã€ã»ã³ã¹ã®èŠåã«ãããã£ãåãçŠæ¢ããŠãããããGPLv3ã§ã©ã€ã»ã³ã¹ããããœãããŠã§ã¢ã®çœ²åãçŠæ¢ããŠããã GRUBã¯çœ²åã§ããŸãã ãããã«å¿ããŠãLinux Foundationã¯PreLoaderããªãªãŒã¹ããMatthew Garrettã¯æ¬¡ã®ããŠã³ããŒãã®çœ²åãŸãã¯ããã·ã¥ãæ€èšŒããå°ããªããŒãããŒããŒshimãäœæããŸããã PreLoaderãšshimã¯UEFI db蚌ææžã䜿çšããŸããããå éšã«èš±å¯ãããããã·ã¥ïŒPreLoaderïŒãŸãã¯èšŒææžïŒshimïŒã®ããŒã¿ããŒã¹ãå«ãŸããŠããŸãã
äž¡æ¹ã®ããã°ã©ã ã¯ãä¿¡é Œã§ãããã¡ã€ã«ãèªåçã«ããŠã³ããŒãããããšã«å ããŠã以åã«ä¿¡é ŒãããŠããªããã¡ã€ã«ãã»ãã¥ã¢ããŒãã¢ãŒãã§ããŠã³ããŒãã§ããŸããããŠãŒã¶ãŒã®ç©ççãªååšãå¿ èŠã§ãïŒæåã«ãã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ã§ããã·ã¥ããããã«è¿œå ããã蚌ææžãŸãã¯ãã¡ã€ã«ãéžæããå¿ èŠãããããã®åŸãããŒã¿ãç¹å¥ãªNVRAMå€æ°ã«å ¥åãããŸãããŒãããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã®å€æŽã«äœ¿çšã§ããªããã¶ãŒããŒãã ãã¡ã€ã«ã¯ãããã®ããªããŒããŒã«å¯ŸããŠã®ã¿ä¿¡é Œãããäžè¬çãªã»ãã¥ã¢ããŒãã«å¯ŸããŠã¯ä¿¡é ŒãããªããªããPreLoader / shimãªãã§ã¯å®è¡ã§ããŸããã
ã·ã ãä»ããŠä¿¡é Œã§ããªãããã°ã©ã ãåããŠèµ·åãããšãã«å¿ èŠãªã¢ã¯ã·ã§ã³ã
çŸåšã®äººæ°ã®ãããã¹ãŠã®Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã¯ã蚌ææžã®ãµããŒãã«ããshimã䜿çšããŠããŸããããã«ããããŠãŒã¶ãŒã®æäœãªãã§æ¬¡ã®ããŒãããŒããŒãç°¡åã«æŽæ°ã§ããŸãã éåžžãshimã¯ãLinuxã§æãäžè¬çãªããŒãããŒããŒã§ããGRUB2ã®å®è¡ã«äœ¿çšãããŸãã
GRUB2
æ»æè ãé åžãããã®çœ²åä»ãããŒãããŒããŒã®å©ããåããŠéãã«ããžãã¹ãè¡ãããã«ãRed Hatã¯GRUB2ã®ããããäœæããã»ãã¥ã¢ããŒããæå¹ã«ãªã£ãŠãããšãã«ãå±éºãªãæ©èœããããã¯ããŸãããinsmod/ rmmodãappleloaderãlinuxããŒã ä»»æã®.efiãã¡ã€ã«ãããŒããããã§ãŒã³ããŒããŒã¢ãžã¥ãŒã«ã«ã¯ãUEFI LoadImage / StartImageã³ãã³ãã䜿çšããã«ç¬èªã®.efiïŒPEïŒããŒããŒãè¿œå ãããshimãä»ããŠããŠã³ããŒãããããã¡ã€ã«ã®æ€èšŒã³ãŒããè¿œå ãããŸããã UEFIã®èŠ³ç¹ããã ãªããããè¡ã£ãã®ãã¯æããã§ã¯ãããŸããã UEFIã§ã¯ãããŠã³ããŒãããã€ã¡ãŒãžããã§ãã¯ããæ©èœãåå®çŸ©ïŒããã¯ïŒã§ããŸãããããPreLoaderã®ä»çµã¿ã§ãããshimèªäœã«ãã®ãããªæ©èœããããŸãããããã©ã«ãã§ã¯ç¡å¹ã«ãªã£ãŠããŸããäœããã®æ¹æ³ã§ãäžéšã®Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã®çœ²åä»ãGRUBã䜿çšãããšå€±æããŸãã ããŠã³ããŒãããåãã¡ã€ã«ã®ããŒãä¿¡é Œã§ãããã¡ã€ã«ã«è¿œå ããå¿ èŠã®ãªãããŠãããŒãµã«ããŒãå¯èœUSBãã©ãã·ã¥ãã©ã€ããäœæããã«ã¯ã2ã€ã®æ¹æ³ããããŸãã
- ããžã¿ã«çœ²åããã§ãã¯ãããã¢ãžã¥ãŒã«ããããã¯ããã«ãEFIãã¡ã€ã«ãåç¬ã§ããŠã³ããŒãããå€æŽãããGRUBã䜿çšããŸãã
- UEFIããžã¿ã«çœ²åæ€èšŒé¢æ°ïŒEFI_SECURITY_ARCH_PROTOCOL.FileAuthenticationStateãEFI_SECURITY2_ARCH_PROTOCOL.FileAuthenticationïŒããªãŒããŒã©ã€ãããç¬èªã®ããªããŒããŒã䜿çšïŒ2çªç®ïŒ
2çªç®ã®ãªãã·ã§ã³ãæãŸãã-ããŠã³ããŒãããä¿¡é Œã§ããªãããã°ã©ã ã¯ä¿¡é Œã§ããªãããã°ã©ã ãããŠã³ããŒãã§ããŸãïŒããšãã°ãUEFIã·ã§ã«ãããã¡ã€ã«ãããŠã³ããŒãã§ããŸãïŒãæåã®ããŒãžã§ã³ã§ã¯ãGRUBã®ã¿ããã¹ãŠãããŠã³ããŒãã§ããŸãã PreLoaderãä¿®æ£ã㊠ãäœåãªã³ãŒããåé€ãããã¡ã€ã«ã®èµ·åãèš±å¯ããŸãã
åèšãããšããã©ãã·ã¥ãã©ã€ãã®ã¢ãŒããã¯ãã£ã¯æ¬¡ã®ããã«ãªããŸããã
______ ______ ______ â±â â â±â â â±â â /_â â â /_â â â /_â â â â â â â â â â â EFI â â â EFI â â â EFI â â_______â â_______â â_______â BOOTX64.efi grubx64.efi grubx64_real.efi (shim) (FileAuthentication (GRUB2) override) âââ â â ______ â â±â â â /_â â â â â ââââââââââââ â EFI â â_______â MokManager.efi (Key enrolling tool)
ãããSuper UEFIinSecureBoot DiskãçãŸããçç±ã§ãã
Super UEFIinSecureBoot Disk-GRUB2ããŒãããŒããŒãåãããã£ã¹ã¯ã€ã¡ãŒãžã§ãUEFIã»ãã¥ã¢ããŒãã¢ãŒãã§æªçœ²åã®efiããã°ã©ã ãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã䟿å©ã«å®è¡ããããã«èšèšãããŠããŸãã
ãã£ã¹ã¯ã¯ããã¶ãŒããŒãã®èšå®ã§ã»ãã¥ã¢ããŒããç¡å¹ã«ããããšãªããã³ã³ãã¥ãŒã¿ãŒå埩ãŠãŒãã£ãªãã£ã䜿çšããŠUSBãã©ã€ããäœæããããããŸããŸãªLinuxã©ã€ããã£ã¹ããªãã¥ãŒã·ã§ã³ãWinPEãèµ·åãããããããã¯ãŒã¯çµç±ã§ããŠã³ããŒããããããããã®åºç€ãšããŠäœ¿çšã§ããŸããããã¯ãä»ã®äººã®ã³ã³ãã¥ãŒã¿ãŒãäŒæ¥ã®ãµãŒãã¹ã«äŸ¿å©ã§ãããšãã°ãUEFIèšå®ãå€æŽããããã«ãã¹ã¯ãŒããèšå®ãããã©ãããããã
ã€ã¡ãŒãžã¯3ã€ã®ã³ã³ããŒãã³ãã§æ§æãããŠããŸãïŒFedoraã®shimããªããŒããŒïŒå€§å€æ°ã®ãã¶ãŒããŒããšã©ãããããã«ããªã€ã³ã¹ããŒã«ãããMicrosoftããŒã§çœ²åïŒãä¿®æ£ãããLinux Foundation PreLoaderããªããŒããŒïŒ.efiãã¡ã€ã«ãèªã¿èŸŒããšãã«çœ²åæ€èšŒãç¡å¹ã«ããïŒãããã³ä¿®æ£ãããGRUB2ããŒãããŒããŒã
ã»ãã¥ã¢ããŒãã䜿çšããã³ã³ãã¥ãŒã¿ãŒã§ã®ãã£ã¹ã¯ã®æåã®ããŒãäžã«ãMokManagerã¡ãã¥ãŒãã蚌ææžãéžæããå¿ èŠããããŸãïŒèªåçã«èµ·åããŸãïŒããã®åŸãããŒãããŒããŒã¯ã»ãã¥ã¢ããŒãããªãã§ãããã®ããã«åäœããŸãïŒGRUBã¯æªçœ²åã®.efiãã¡ã€ã«ãŸãã¯Linuxã«ãŒãã«ãããŠã³ããŒãããEFIããã°ã©ã ãããŒãããŸã眲åãæ¬ èœããŠãããä¿¡é Œã§ããªãä»ã®ããã°ã©ã ããã³ãã©ã€ããŒãå®è¡ã§ããŸãã
æäœæ§ã瀺ãããã«ãã€ã¡ãŒãžã«ã¯Super Grub DiskïŒããŒãããŒããŒãç ŽæããŠããå Žåã§ããã€ã³ã¹ããŒã«ããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãæ€çŽ¢ããã³ããŒãããããã®ã¹ã¯ãªããïŒãGRUB Live ISO MultibootïŒISOããã®äŸ¿å©ãªLinux LiveCDããŒãçšã¹ã¯ãªãããäºåã®è§£åããã³åŠçãªãïŒãOneãã¡ã€ã«LinuxïŒã·ã¹ãã å埩çšã®1ã€ã®ãã¡ã€ã«å ã®ã«ãŒãã«ãšinitrdïŒãããã³ããã€ãã®UEFIãŠãŒãã£ãªãã£ã
ãã©ã€ãã¯ãã»ãã¥ã¢ããŒããªãã®UEFIãããã³BIOSãæèŒããå€ãã³ã³ãã¥ãŒã¿ãŒãšäºææ§ããããŸãã
眲åæžã¿ããŠã³ããŒããŒ
ååèµ·åæã«ã·ã çµç±ã§ããŒãè¿œå ããå¿ èŠæ§ãã©ãã«ãããŠåé¿ã§ãããã©ããçåã«æã£ãŠããŸããã ãããããäœè ãæåŸ ãã以äžã®ããšãå®è¡ã§ãã眲åä»ãããŠã³ããŒããŒããããŸããïŒçµå±ã®ãšãã-ãã®ãããªããŒããŒããããŸãã ãããã®1ã€ã¯ããŠã€ã«ã¹å¯ŸçãœãããŠã§ã¢ãåããããŒããã£ã¹ã¯ã§ããKaspersky Rescue Disk 18ã§äœ¿çšãããŸãã ãã£ã¹ã¯ããGRUBã䜿çšãããšã¢ãžã¥ãŒã«ãããŒãã§ãïŒinsmodã³ãã³ãïŒãGRUBã®ã¢ãžã¥ãŒã«ã䜿çšãããšéåžžã®å®è¡å¯èœã³ãŒããããŒãã§ããŸãã ãã£ã¹ã¯ããªããŒããŒã¯ãã€ãã£ãã§ãã
ãã¡ããããã£ã¹ã¯ããGRUBãä¿¡é Œã§ããªãã³ãŒããããŒãããªãããã§ãã GRUBãUEFI LoadImage / StartImageé¢æ°ã䜿çšããªãããã«ãã§ãŒã³ããŒããŒã¢ãžã¥ãŒã«ãå€æŽããå¿ èŠããããŸãããç¬ç«ããŠ.efiãã¡ã€ã«ãã¡ã¢ãªã«ããŒãããåé 眮ãå®è¡ãããšã³ããªãã€ã³ããèŠã€ããŠããã«åŸããŸãã 幞ããã»ãšãã©ãã¹ãŠã®å¿ èŠãªã³ãŒãã¯Red Hatããã®ã»ãã¥ã¢ããŒãããµããŒãããGRUBãªããžããªã«ãããŸããå¯äžã®åé¡ã¯ã PEããããŒã®è§£æã³ãŒãããªããããããŒãç¹å¥ãªãããã³ã«ãä»ããé¢æ°åŒã³åºãã«å¿çããŠshimã解æããŠè¿ãããšã§ãã ããã¯ãé©åãªã³ãŒããshimãŸãã¯PreLoaderããGRUBã«ç§»æ€ããããšã§ç°¡åã«ä¿®æ£ã§ããŸãã
ãã®ããã ãµã€ã¬ã³ã UEFIinSecureBootãã£ã¹ã¯ããããŸããã çµæã®ãã£ã¹ã¯ã¢ãŒããã¯ãã£ã¯æ¬¡ã®ãšããã§ãã
______ ______ ______ â±â â â±â â â±â â /_â â /_â â â /_â â â â â â â â â â EFI â â EFI â â â EFI â â_______â â_______â â_______â BOOTX64.efi grubx64.efi grubx64_real.efi (Kaspersky (FileAuthentication (GRUB2) Loader) override) âââ â â ______ â â±â â â /_â â â â â ââââââââââââ â EFI â â_______â fde_ld.efi + custom chain.mod (Kaspersky GRUB2)
ãããã«
ãã®èšäºã§ã¯ãã»ãã¥ã¢ããŒãã¢ãŒããæå¹ã«ããMicrosoftããŒã§çœ²åãããä¿¡é Œæ§ã®é«ãããŒãããŒããŒãååã«ãªãããšãããããŸãããKaspersky Rescue Diskã®çœ²åæžã¿ãã¡ã€ã«ã䜿çšããŠã蚌ææžãUEFI dbãŸãã¯shim MOKã«è¿œå ããããšãªããã»ãã¥ã¢ããŒããæå¹ã«ããä¿¡é Œã§ããªã.efiãã¡ã€ã«ã®ããµã€ã¬ã³ããããŠã³ããŒããå®çŸããŸããã
ãããã®ãã¡ã€ã«ã¯ãåè¡ïŒUSBãã©ãã·ã¥ãã©ã€ãããã®ããŠã³ããŒãçšïŒãšæªè¡ïŒã³ã³ãã¥ãŒã¿ãŒã®ææè ã®ç¥ããªãããŒããããã®ã€ã³ã¹ããŒã«ïŒã®äž¡æ¹ã«äœ¿çšã§ããŸãã
ã«ã¹ãã«ã¹ããŒã®èšŒææžã¯é·ç¶ãããã倱å¹ããUEFI蚌ææžã®ã°ããŒãã«ãªã¹ãã«è¿œå ãããWindows Updateãä»ããŠWindows 10ãå®è¡ããŠããã³ã³ãã¥ãŒã¿ãŒã«ã€ã³ã¹ããŒã«ãããKaspersky Rescue Disk 18ãšSilent UEFIinSecureBoot Diskã®èªã¿èŸŒã¿ãäžæããããšæ³å®ããŠããŸãã ãããã©ããããæ©ãèµ·ãããèŠãŠã¿ãŸãããã
Super UEFIinSecureBoot DiskãããŠã³ããŒãããŸãïŒ https : //github.com/ValdikSS/Super-UEFIinSecureBoot-Disk
ZeroNet Git Centerãããã¯ãŒã¯ã§ãµã€ã¬ã³ãUEFIinSecureBootãã£ã¹ã¯ãããŠã³ããŒãïŒ http : //127.0.0.1 : 43110/1KVD7PxZVke1iq4DKb4LNwuiHS4UzEAdAv/
ZeroNetã«ã€ããŠ
ZeroNetã¯ãåæ£åã®åæ£åçWebãµã€ãããã³ãµãŒãã¹ãäœæããããã®éåžžã«åŒ·åãªã·ã¹ãã ã§ãã ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ãããšããŠãŒã¶ãŒã¯BitTorrentã®ããã«ãªãœãŒã¹ã®ããŠã³ããŒããšé
åžãéå§ããŸãã åæã«ãã³ã¡ã³ãä»ãã®ããã°ããã©ãŒã©ã ããããªãã¹ãã£ã³ã°ãWikiãµã€ãããã£ãããã¡ãŒã«ãgitãªã©ã®æ¬æ ŒçãªãªãœãŒã¹ãäœæããããšãã§ããŸãã
ZeroNetã¯ã³ãŒããšãµã€ãããŒã¿ã®æŠå¿µãåé¢ããŸãããŠãŒã¶ãŒããŒã¿ã¯.jsonãã¡ã€ã«ã«ä¿åãããåæããããšãæšæºåãããã¹ããŒã ã§ãµã€ãã®sqliteããŒã¿ããŒã¹ã«ã€ã³ããŒããããæ¯ãã®ããããªããšãã§ããŸãïŒéããŠãããã¹ãŠã®ãµã€ãã§ã®ããªç§åäœã®ããŒã«ã«ããã¹ãæ€çŽ¢ãèªåãã¹ãŠã®ãµã€ãã®RSSã®ãªã¢ã«ã¿ã€ã ã¢ããã°ãäžåºŠã«ã
æšæºåãããèªèšŒããã³æ¿èªã·ã¹ãã ïŒOAuthã«é¡äŒŒïŒãNATã®èåŸããã³Torãä»ããäœæ¥ã®ãµããŒãã
ZeroNetã¯éåžžã«é«éã§ããŠãŒã¶ãŒãã¬ã³ããªãŒã§ãææ°ã®ã€ã³ã¿ãŒãã§ã€ã¹ãšããµã€ãäžã®ãã€/ãã€ãããŒãã®ã°ããŒãã«ãªåãæ¿ããªã©ãå°ãããŠãéåžžã«äŸ¿å©ãªæ©èœãåããŠããŸãã
ZeroNetã¯éåžžã«éå°è©äŸ¡ãããŠããã·ã¹ãã ã§ãããšèããŠãããæ°ãããŠãŒã¶ãŒãåŒãä»ããããã«ãZeroNet Gitã§ã®ã¿ãµã€ã¬ã³ãããŒãžã§ã³ãæå³çã«å ¬éããŠããŸãã
ZeroNetã¯ã³ãŒããšãµã€ãããŒã¿ã®æŠå¿µãåé¢ããŸãããŠãŒã¶ãŒããŒã¿ã¯.jsonãã¡ã€ã«ã«ä¿åãããåæããããšãæšæºåãããã¹ããŒã ã§ãµã€ãã®sqliteããŒã¿ããŒã¹ã«ã€ã³ããŒããããæ¯ãã®ããããªããšãã§ããŸãïŒéããŠãããã¹ãŠã®ãµã€ãã§ã®ããªç§åäœã®ããŒã«ã«ããã¹ãæ€çŽ¢ãèªåãã¹ãŠã®ãµã€ãã®RSSã®ãªã¢ã«ã¿ã€ã ã¢ããã°ãäžåºŠã«ã
æšæºåãããèªèšŒããã³æ¿èªã·ã¹ãã ïŒOAuthã«é¡äŒŒïŒãNATã®èåŸããã³Torãä»ããäœæ¥ã®ãµããŒãã
ZeroNetã¯éåžžã«é«éã§ããŠãŒã¶ãŒãã¬ã³ããªãŒã§ãææ°ã®ã€ã³ã¿ãŒãã§ã€ã¹ãšããµã€ãäžã®ãã€/ãã€ãããŒãã®ã°ããŒãã«ãªåãæ¿ããªã©ãå°ãããŠãéåžžã«äŸ¿å©ãªæ©èœãåããŠããŸãã
ZeroNetã¯éåžžã«éå°è©äŸ¡ãããŠããã·ã¹ãã ã§ãããšèããŠãããæ°ãããŠãŒã¶ãŒãåŒãä»ããããã«ãZeroNet Gitã§ã®ã¿ãµã€ã¬ã³ãããŒãžã§ã³ãæå³çã«å ¬éããŠããŸãã