ื”ืขืชื™ื“ ื›ื‘ืจ ื›ืืŸ ืื• ืงื•ื“ ื™ืฉื™ืจื•ืช ื‘ื“ืคื“ืคืŸ

ืื ื™ ืืกืคืจ ืœื›ื ืขืœ ืกื™ื˜ื•ืืฆื™ื” ืžืฆื—ื™ืงื” ืฉืงืจื” ืœื™, ื•ืื™ืš ืœื”ืคื•ืš ืœืชื•ืจื ืœืคืจื•ื™ืงื˜ ืžืคื•ืจืกื.

ืœื ืžื–ืžืŸ ื”ืชืขืกืงืชื™ ื‘ืจืขื™ื•ืŸ: ืืชื—ื•ืœ ืœื™ื ื•ืงืก ื™ืฉื™ืจื•ืช ืž-UEFI...
ื”ืจืขื™ื•ืŸ ืื™ื ื• ื—ื“ืฉ ื•ื™ืฉ ืžืกืคืจ ืžื“ืจื™ื›ื™ื ื‘ื ื•ืฉื ื–ื”. ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืื—ื“ ืžื”ื ื›ืืŸ

ืœืžืขืฉื”, ื”ื ื™ืกื™ื•ื ื•ืช ืืจื•ื›ื™ ื”ืฉื ื™ื ืฉืœื™ ืœืคืชื•ืจ ืืช ื”ื‘ืขื™ื” ื”ื–ื• ื”ื‘ื™ืื• ืœืคื•ืจืžืœื™ ืœื—ืœื•ื˜ื™ืŸ ื”ื—ืœื˜ื”. ื”ืคืชืจื•ืŸ ื“ื™ ืขื•ื‘ื“ ื•ืื ื™ ืžืฉืชืžืฉ ื‘ื• ื‘ื—ืœืง ืžื”ืžื›ื•ื ื•ืช ื”ื‘ื™ืชื™ื•ืช ืฉืœื™. ืคืชืจื•ืŸ ื–ื” ืžืชื•ืืจ ื‘ืคื™ืจื•ื˜ ืงื˜ืŸ ื™ื•ืชืจ. ื›ืืŸ.

ื”ืžื”ื•ืช ืฉืœ UEFI-Boot ื”ื™ื ืฉืžื—ื™ืฆืช ื”-ESP (EFI System Partition) ืžืฉื•ืœื‘ืช ืขื ืกืคืจื™ื™ืช /boot. ื”ึธื”ึตืŸ. ื›ืœ ื”ื’ืจืขื™ื ื™ื ื•ืชืžื•ื ื•ืช ื”ืืชื—ื•ืœ (initrd) ืžืžื•ืงืžื•ืช ื‘ืื•ืชื” ืžื—ื™ืฆื” ืฉืžืžื ื” UEFI ื™ื›ื•ืœ ืœื”ืคืขื™ืœ ืงื‘ืฆื™ ื”ืคืขืœื”, ื•ื‘ืžื™ื•ื—ื“ ืœื”ืคืขื™ืœ ืืช ืžื˜ืขื ื™ ื”ืืชื—ื•ืœ ืฉืœ ื”ืžืขืจื›ืช. ืื‘ืœ ืœื™ื‘ืช ื”ืœื™ื ื•ืงืก ืขืฆืžื” ื‘ื”ืคืฆื•ืช ืจื‘ื•ืช ื›ื‘ืจ ืžื•ืจื›ื‘ืช ืขื ืืคืฉืจื•ืช UEFISTUB, ื”ืžืืคืฉืจืช ืœื”ืฉื™ืง ืืช ื”ืœื™ื‘ื” ืขืฆืžื” ืž-UEFI.

ืœืคืชืจื•ืŸ ื”ื–ื” ื™ืฉ ืจื’ืข ืื—ื“ ืœื ื ืขื™ื - ืžื—ื™ืฆืช ื”-ESP ืžืขื•ืฆื‘ืช ื‘-FAT32, ืฉืขืœื™ื” ืื™ ืืคืฉืจ ืœื™ืฆื•ืจ ืงื™ืฉื•ืจื™ื ืงืฉื™ื—ื™ื (ืฉื”ืžืขืจื›ืช ื™ื•ืฆืจืช ื‘ืื•ืคืŸ ืงื‘ื•ืข ื‘ืขืช ืขื“ื›ื•ืŸ ื”-initrd). ื•ืื™ืŸ ื‘ื–ื” ืฉื•ื ื“ื‘ืจ ืคืœื™ืœื™ ื‘ืžื™ื•ื—ื“, ืื‘ืœ ืœืจืื•ืช ืื–ื”ืจื•ืช ืžืขืจื›ืช ื‘ืขืช ืขื“ื›ื•ืŸ ืจื›ื™ื‘ื™ ืœื™ื‘ื” ื–ื” ืœื ืžืื•ื“ ื ืขื™ื...

ื™ืฉ ื“ืจืš ืื—ืจืช.

ืžื ื”ืœ ื”ืืชื—ื•ืœ ืฉืœ UEFI (ืื•ืชื• ืื—ื“ ืฉื‘ื• ืืชื” ืฆืจื™ืš ืœืจืฉื•ื ืืช ื˜ื•ืขืŸ ื”ืืชื—ื•ืœ ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื”) ื™ื›ื•ืœ, ื‘ื ื•ืกืฃ ืœืžื˜ืขื ื™ ื”ืืชื—ื•ืœ/ื’ืจืขื™ื ื™ ืœื™ื ื•ืงืก, ื’ื ืœื˜ืขื•ืŸ ืžื ื”ืœื™ ื”ืชืงื ื™ื. ืื– ืืชื” ื™ื›ื•ืœ ืœื˜ืขื•ืŸ ืืช ื”ื“ืจื™ื™ื‘ืจ ืฉืœ ืžืขืจื›ืช ื”ืงื‘ืฆื™ื ืฉื‘ื” ื™ืฉ ืœืš /boot ื•ืœื˜ืขื•ืŸ ืืช ื”ืœื™ื‘ื” ื™ืฉื™ืจื•ืช ืžืฉื ื‘ืืžืฆืขื•ืช UEFI. ืืช ื”ื“ืจื™ื™ื‘ืจ, ื›ืžื•ื‘ืŸ, ื™ืฉ ืœืžืงื ื‘ืžื—ื™ืฆืช ื”-ESP. ื–ื” ื‘ืขืจืš ืžื” ืฉืขื•ืฉื™ื ืžื˜ืขื ื™ ืืชื—ื•ืœ ื›ืžื• GRUB. ืื‘ืœ ื’ื•ืœืช ื”ื›ื•ืชืจืช ื”ื™ื ืฉื›ืœ ืคื•ื ืงืฆื™ื•ืช GRUB ื‘ืฉื™ืžื•ืฉ ืชื›ื•ืฃ ื›ื‘ืจ ื ืžืฆืื•ืช ื‘-UEFI. ืœื™ืชืจ ื“ื™ื•ืง ื‘ืžื ื”ืœ ื”ื”ื•ืจื“ื•ืช ืฉืœื•. ื•ื›ื“ื™ ืฉื™ื”ื™ื” ืขื•ื“ ื™ื•ืชืจ ืžืฉืขืžื, ืœืžื ื”ืœ ื”ืืชื—ื•ืœ ืฉืœ UEFI ื™ืฉ ืืคื™ืœื• ื™ื•ืชืจ ื™ื›ื•ืœื•ืช ื‘ืขื ื™ื™ื ื™ื ืžืกื•ื™ืžื™ื.

ื ืจืื” ืฉื–ื” ืคืชืจื•ืŸ ื™ืคื”, ืื‘ืœ ื™ืฉ "ืื‘ืœ" ืื—ื“ (ืื• ืœื™ืชืจ ื“ื™ื•ืง, ื–ื” ื”ื™ื”, ืื‘ืœ ืขืœ ื–ื” ื‘ื”ืžืฉืš). ื”ืขื•ื‘ื“ื” ื”ื™ื ืฉืžืขืจื›ืช ื”ื ื”ื’ ืฉืœ UEFI ื”ื™ื ื“ื™ ืคืฉื•ื˜ื”. ืื™ืŸ ื“ื‘ืจ ื›ื–ื” ื”ืจื›ื‘ื” ืฉืœ ืžืขืจื›ืช ืงื‘ืฆื™ื ืื• ืฉื™ื•ืš ืžื ื”ืœ ื”ืชืงืŸ ืœื”ืชืงืŸ ืกืคืฆื™ืคื™. ื™ืฉ ืงืจื™ืืช ืžืขืจื›ืช ื‘ืฉื ื”ืžืงื•ื‘ืœ Map, ืฉืœื•ืงื—ืช ื›ืœ ื ื”ื’ ื‘ืชื•ืจื• ื•ืžื ืกื” ืœืฉื™ื™ืš ืื•ืชื• ืœื›ืœ ื”ืžื›ืฉื™ืจื™ื ื”ืžืชืื™ืžื™ื ืœืคื—ื•ืช. ื•ืื ื”ื ื”ื’ ื”ืฆืœื™ื— ืœื”ืจื™ื ืืช ื”ืžื›ืฉื™ืจ, ืื– ื ื•ืฆืจ ืžื™ืคื•ื™ - ืจืฉื•ืžืช ื—ื™ื‘ื•ืจ. ื›ืš ื‘ื“ื™ื•ืง ื™ืฉ ืœืืชื—ืœ ืืช ื”ื“ืจื™ื™ื‘ืจ ื”ื—ื“ืฉ ืฉื ื˜ืขืŸ ื‘ืขืจื™ืžื” ืžืฉื•ืชืคืช ืขื ื›ืœ ื”ืื—ืจื™ื. ื•ื›ืœ ืžื” ืฉืืชื” ืฆืจื™ืš ื”ื•ื ืœื”ื’ื“ื™ืจ ื‘ื™ื˜ ืื—ื“ (LOAD_OPTION_FORCE_RECONNECT) ืœ-1 ื‘ืจืฉื•ืžืช ื”ืืชื—ื•ืœ ืฉืœ ืžื ื”ืœ ื”ื”ืชืงืŸ ื•-UEFI ื™ื‘ืฆืข ืืช ื”ืžื™ืคื•ื™ ื”ื’ืœื•ื‘ืœื™ ื”ื–ื” ืœืื—ืจ ื˜ืขื™ื ืชื•.

ืื‘ืœ ื–ื” ืœื ื›ืœ ื›ืš ืงืœ ืœืขืฉื•ืช. ื›ืœื™ ื”ืฉื™ืจื•ืช ื”ืกื˜ื ื“ืจื˜ื™ efibootmgr (ื”ืžืฉืžืฉ ืœื”ื’ื“ืจืช ืžื ื”ืœ ื”ื”ื•ืจื“ื” ืฉืœ UEFI) ืื™ื ื• ื™ื•ื“ืข ื›ื™ืฆื“ (ืื• ืœื™ืชืจ ื“ื™ื•ืง, ืœื ื™ื“ืข ื›ื™ืฆื“) ืœื”ื’ื“ื™ืจ ืืช ื”ืกื™ื‘ื™ื•ืช ื”ื–ื•. ื”ื™ื™ืชื™ ืฆืจื™ืš ืœื”ืชืงื™ืŸ ืื•ืชื• ื‘ืื•ืคืŸ ื™ื“ื ื™ ื‘ืืžืฆืขื•ืช ื”ืœื™ืš ื“ื™ ืžืกื•ื‘ืš ื•ืžืกื•ื›ืŸ.

ื•ืฉื•ื‘, ืœืื—ืจ ืฉื ื™ืกื™ืชื™ ืœืขืฉื•ืช ืืช ื–ื” ืขื ื”ื™ื“ื™ื™ื ืฉืœื™, ืœื ื™ื›ื•ืœืชื™ ืœืขืžื•ื“ ื‘ื–ื” ื•ื”ืชื™ื™ืฆื‘ืชื™ ื‘ืขื™ื” ื‘-GitHub ืžื‘ืงืฉ ืžืžืคืชื—ื™ื ืœื”ื•ืกื™ืฃ ืชื›ื•ื ื” ื–ื•.

ื—ืœืคื• ืžืกืคืจ ื™ืžื™ื, ืืš ืื™ืฉ ืœื ืฉื ืœื‘ ืœื‘ืงืฉื” ืฉืœื™. ื•ืžืชื•ืš ืกืงืจื ื•ืช ื”ืกืชื›ืœืชื™ ืขืœ ืงื•ื“ ื”ืžืงื•ืจ... ื—ื™ืœืฆืชื™ ืื•ืชื•, ื•ื”ื‘ื ืชื™ ืขืœ ื”ื‘ืจื›ื™ื™ื ืื™ืš ืœื”ื•ืกื™ืฃ ืืช ื”ืคื™ืฆ'ืจ ื”ื–ื”... "ืขืœ ื”ื‘ืจื›ื™ื™ื" ื›ื™ ืœื ื”ืชืงื ืชื™ ื“ื‘ืจ ื›ื–ื” ื•ืขืจื›ืชื™ ืืช ื”ืžืงื•ืจ ืงื•ื“ ื™ืฉื™ืจื•ืช ื‘ื“ืคื“ืคืŸ.

ืื ื™ ืžื›ื™ืจ ืืช C (ืฉืคืช ื”ืชื›ื ื•ืช) ื‘ืฆื•ืจื” ืžืื•ื“ ืฉื˜ื—ื™ืช, ืื‘ืœ ืฉืจื˜ื˜ืชื™ ืคืชืจื•ืŸ ืžืฉื•ืขืจ (ื‘ืขื™ืงืจ ื”ืขืชืง-ื”ื“ื‘ืง)... ื•ืื– ื—ืฉื‘ืชื™ - ืœืคื—ื•ืช ื›ื ืจืื” ื™ืฉ ืœื™ ืฉื ื”ืจื‘ื” ืฉื’ื™ืื•ืช (ื ื™ืกื™ื•ื ื•ืช ื”ืขื‘ืจ ืฉืœื™ ืœืขืจื•ืš ืฉืœ ืžื™ืฉื”ื• ืื—ืจ ืงื•ื“ C ื”ื•ืฉืœืžื• ื‘ืขืจืš ื‘ืคืขื ื”ืขืฉื™ืจื™ืช) ืื ื™ ืื•ืฆื™ื ื‘ืงืฉืช ืžืฉื™ื›ื”. ื ื• ืžึฐืขื•ึผืฆึธื‘.

ื•ืฉื ื”ืชื‘ืจืจ ืฉ-Travis CI ืžืฆื•ืจืฃ ื›ื“ื™ ืœื‘ื“ื•ืง ื‘ืงืฉื•ืช ืžืฉื™ื›ื”. ื•ื”ื•ื ืืžืจ ืœื™ ื‘ืฉืงื™ื“ื” ืืช ื›ืœ ื”ื˜ืขื•ื™ื•ืช ืฉืœื™. ื•ื‘ื›ืŸ, ืื ื™ืฉ ืฉื’ื™ืื•ืช ื™ื“ื•ืขื•ืช, ืื™ืŸ ืฆื•ืจืš ืœืชืงืŸ ืืช ื–ื”: ืฉื•ื‘, ื™ืฉื™ืจื•ืช ื‘ื“ืคื“ืคืŸ, ื•ื‘ื ื™ืกื™ื•ืŸ ื”ืจื‘ื™ืขื™ ื”ืงื•ื“ ืขื‘ื“ (ื”ื™ืฉื’ ืขื‘ื•ืจื™).

ื•ื‘ื“ื™ื•ืง ื›ื›ื”, ื‘ืœื™ ืœืขื–ื•ื‘ ืืช ื”ื“ืคื“ืคืŸ, ืคื™ืจืžื˜ืชื™ Pull Request ืžืื•ื“ ืืžื™ืชื™ ืœื›ืœื™ ืฉื™ืจื•ืช ืฉืžืฉืžืฉ ื›ืžืขื˜ ื‘ื›ืœ ื”ื”ืคืฆื•ืช ื”ืžื•ื“ืจื ื™ื•ืช ืฉืœ ืœื™ื ื•ืงืก.

ื”ื•ืคืชืขืชื™ ืžื”ืขื•ื‘ื“ื” ืฉื‘ืœื™ ืžืžืฉ ืœื“ืขืช ืืช ื”ืฉืคื”, ื‘ืœื™ ืœื”ื’ื“ื™ืจ ื›ืœื•ื (ืชืœื•ืช ื“ื•ืจืฉื•ืช ืœื ืžืขื˜ ืกืคืจื™ื•ืช ืœื”ืจื›ื‘ื”), ื•ืžื‘ืœื™ ืืคื™ืœื• ืœื”ืคืขื™ืœ ืืช ื”ืžื”ื“ืจ, ืคืฉื•ื˜ "ืงื™ื“ื“ืชื™" ืชื›ื•ื ื” ืขื•ื‘ื“ืช ื•ืฉื™ืžื•ืฉื™ืช ืœื—ืœื•ื˜ื™ืŸ ื‘- ื“ืคื“ืคืŸ .

ืขื ื–ืืช, ื”ื‘ืงืฉื” ืฉืœื™ ืœื ื ืขื ืชื” ืžืื– 19 ื‘ืžืจืฅ 2019, ื•ื›ื‘ืจ ื”ืชื—ืœืชื™ ืœืฉื›ื•ื— ืžืžื ื”.

ืื‘ืœ ืืชืžื•ืœ ื ื•ืกืคื” ื‘ืงืฉื” ื–ื• ืœืžืืกื˜ืจ.

ืื– ืขืœ ืžื” ื”ืกื™ืคื•ืจ ืฉืœื™? ื•ื”ื•ื ืžื“ื‘ืจ ืขืœ ื”ืขื•ื‘ื“ื” ืฉื‘ืžืกื’ืจืช ื”ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื”ืžื•ื“ืจื ื™ื•ืช, ื”ืชื‘ืจืจ ืฉืืคืฉืจ ืœื›ืชื•ื‘ ืงื•ื“ ืืžื™ืชื™ ื‘ื“ืคื“ืคืŸ, ืžื‘ืœื™ ืœืคืจื•ืก ื›ืœ ื›ืœื™ ืคื™ืชื•ื— ื•ืชืœื•ืช ืžืงื•ืžื™ืช.

ื™ืชืจื” ืžื›ืš, ืื ื™ ื—ื™ื™ื‘ ืœื”ื•ื“ื•ืช, ื–ื• ื›ื‘ืจ ื‘ืงืฉืช ื”ืžืฉื™ื›ื” ื”ืฉื ื™ื™ื” ืฉืœื™ ืขื‘ื•ืจ ื›ืœื™ ืขื–ืจ ื™ื“ื•ืขื™ื (ืœืคื—ื•ืช ื‘ืžืขื’ืœื™ื ืฆืจื™ื). ื‘ืคืขื ื”ืงื•ื“ืžืช, ื”ื‘ืงืฉื” ืฉืœื™ ืœืชืงืŸ ืืช ื”ืชืฆื•ื’ื” ืฉืœ ื›ืžื” ืฉื“ื•ืช ื‘ืžืžืฉืง ื”ืื™ื ื˜ืจื ื˜ ืฉืœ SyncThing ื”ื‘ื™ืื” ืœืขืจื™ื›ื” ืฉืœื™ ื‘ืฉื•ืจื” ืื—ืช, ืคืฉื•ื˜ื• ื›ืžืฉืžืขื•, ื‘ืกื‘ื™ื‘ื” ืฉืื™ื ื™ ืžื›ื™ืจื” ื›ืœืœ.

ืจืง ืžืฉืชืžืฉื™ื ืจืฉื•ืžื™ื ื™ื›ื•ืœื™ื ืœื”ืฉืชืชืฃ ื‘ืกืงืจ. ืœื”ืชื—ื‘ืจื‘ื‘ืงืฉื”.

ืœื›ืชื•ื‘ ื™ื•ืชืจ ืื• ืœื?

  • ื›ืŸ

  • ืœื ืฉื•ื•ื” ืืช ื–ื”

294 ืžืฉืชืžืฉื™ื ื”ืฆื‘ื™ืขื•. 138 ืžืฉืชืžืฉื™ื ื ืžื ืขื•.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”