Làm cách nào để tạo phương tiện truyền thông trực tiếp USB chỉ có thể khởi động UEFI?


107

Có phương tiện trực tiếp có thể khởi động cả hai cách có thể là một vấn đề khi cài đặt Ubuntu vào các máy tính Windows 8 hiện có.

Nói cách khác, lợi thế chính để tạo phương tiện truyền thông trực tiếp USB khả năng khởi động chỉ UEFI là: Bạn biết rằng nó chắc chắn đã khởi động và được cài đặt thông qua UEFI.

Vì Valve đã và đang thực hiện các trình cài đặt USB chỉ khởi động UEFI với Steam OS và UNetbootin dựa trên Debian của họ - giải pháp thay thế được bình chọn hàng đầu cho Startup Disk Creator - không tương thích với UEFI và do đó gây hiểu lầm, tôi nghĩ chúng ta nên có một chủ đề riêng cho tạo phương tiện truyền thông trực tiếp USB chỉ có thể khởi động UEFI.

Câu trả lời:


133

Tổng quan

Tạo phương tiện truyền thông trực tiếp USB chỉ UEFI khởi động khá dễ dàng. Chỉ cần sao chép các tệp vào ổ USB có định dạng FAT32 của bạn . Đó là nó!

Hãy nhớ rằng để cài đặt hoặc khởi động phương tiện:

Mục lục

  • Sao chép tệp từ phương thức ISO
    1. Ví dụ qua thiết bị đầu cuối
    2. Ví dụ qua GUI
    3. Ví dụ trên Windows
  • Phương pháp loopback ISO (nâng cao)
    1. Tạo nhị phân
    2. Tạo tập tin cấu hình
    3. Thêm kiên trì
    4. Kiểm tra tính toàn vẹn
    5. Khởi động an toàn UEFI

1. Sao chép tệp từ phương thức ISO

Phương pháp này cũng hoạt động đối với các phương tiện cài đặt khác có chứa bộ tải EFI, như Windows chẳng hạn.

1.1. Ví dụ qua thiết bị đầu cuối

Bạn có thể làm một cái gì đó như sau nếu 604A-00EAlà ổ USB của bạn và bạn đã p7zipcài đặt:

$ 7z x ubuntu-12.04-desktop-amd64.iso -o/media/$USER/604A-00EA/

Bạn đã hoàn thành nếu bạn chỉ có một phân vùng trên ổ USB này, nếu không, bạn cần gắn cờ phân vùng là khả năng khởi động, ví dụ: thông qua parted:

# parted /dev/sdX set 1 boot on

/dev/sdXỔ đĩa USB của bạn sẽ ở đâu và 1số phân vùng nên được sử dụng để khởi động.

1.2. Ví dụ qua GUI

  1. Gắn tệp .iso và sao chép nội dung vào ổ USB của bạn. Nhấn Ctrl+ Htrong Nautilus để hiển thị và sao chép các tập tin ẩn.

    nautilus hiển thị Trình xem ảnh đĩa trong menu ngữ cảnh khi tệp .iso được chọn

  2. Thêm cờ khởi động thông qua GParted .

    GParted hiển thị cách quản lý cờ phân vùng

1.3. Ví dụ trên Windows

  1. Tương tự như trên, chỉ cần sao chép các tập tin.
  2. Nhấn Windows/Super+ X, đi đến Quản lý đĩa và kiểm tra xem phân vùng có được đánh dấu là hoạt động không. Trên các phiên bản Windows trước Windows 8, bạn nhấn Windows/Super+ Rđể mở menu chạy và mở diskmgmt.msc, điều đó sẽ mở Quản lý đĩa.

2. Phương pháp loopback ISO (nâng cao)

Thay vì trích xuất nội dung từ hình ảnh ISO, GRUB và GRUB2 đã có thể khởi động trực tiếp từ hình ảnh ISO thông qua thiết bị loopback. Cho rằng hình ảnh ISO có khả năng khởi động UEFI, chúng ta có thể thiết lập một ổ USB chứa nhiều ISO với các hệ điều hành khác nhau mà không tạo ra sự lộn xộn trên ổ USB.

Nếu bạn muốn khởi động Windows quá, bạn có thể muốn xem SARDU . Tôi nhớ sử dụng nó với Windows PE vào khoảng năm 2005 và dường như nó đã được cập nhật để hỗ trợ các ổ USB và UEFI, nhưng hãy nhớ rằng công cụ này cũng hỗ trợ khả năng khởi động kế thừa.

Chúng ta cần gì?

  • Kiến thức rất cơ bản về tập tin cấu hình GRUB.
  • Kiến thức rất cơ bản về khả năng khởi động UEFI và GRUB, vì chúng ta sẽ tạo ra hình ảnh bộ tải khởi động GRUB của riêng mình với rất nhiều mô-đun đi kèm.
  • Hình ảnh ISO có thể khởi động UEFI, ổ USB có định dạng FAT và máy chạy Linux.
    • Không, chúng tôi không cần cài đặt UEFI cho Linux (có thể là tình huống gà và trứng), một máy ảo Linux truyền thống như trong VirtualBox vẫn ổn.

2.1. Tạo nhị phân

Trên máy Ubuntu hoặc VM của bạn, đảm bảo gói grub-efi-amd64-bin đã được cài đặt (grub-efi-ia32-bin cũng có sẵn cho các kiến ​​trúc Intel 32 bit trên các bản phát hành mới hơn). Gói có thể có một tên khác trên bản phân phối khác, bạn có thể so sánh danh sách tệp của gói để tìm gói phù hợp trên bản phân phối của mình.

Lệnh sau sẽ tạo hình ảnh GRUB, trong trường hợp này là tệp nhị phân EFI mà mọi máy tính có chương trình cơ sở UEFI sẽ có thể chạy:

grub-mkimage -o bootx64.efi -p /efi/boot -O x86_64-efi \
 fat iso9660 part_gpt part_msdos \
 normal boot linux configfile loopback chain \
 efifwsetup efi_gop efi_uga \
 ls search search_label search_fs_uuid search_fs_file \
 gfxterm gfxterm_background gfxterm_menu test all_video loadenv \
 exfat ext2 ntfs btrfs hfsplus udf

Mọi phần mềm UEFI tiêu chuẩn nên xem xét \EFI\BOOT\một tệp có tên boot{arch}.efi, vì vậy hãy tạo các thư mục trên ổ USB và sao chép hình ảnh chúng ta vừa tạo vào vị trí này. Các kiến ​​trúc khác thay vì x64 là có thể, nhưng hãy đơn giản với x64 / amd64.

2.2. Tạo tập tin cấu hình

Một ví dụ rất cơ bản cho grub.cfgtệp cấu hình nên được đặt trong cùng thư mục bootx64.efinhư sau:

set timeout=3
set color_highlight=black/light-magenta

menuentry 'Boot Ubuntu 14.04.2 LTS from ISO' {
        set isofile="/efi/boot/ubuntu-14.04.2-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash persistent --
        initrd (loop)/casper/initrd.lz
}
submenu 'Useful snippets' {
    menuentry 'Ubuntu' {
            chainloader /efi/ubuntu/grubx64.efi
    }
    menuentry 'Windows' {
            chainloader /efi/Microsoft/Boot/bootmgfw.efi
    }
    menuentry 'Firmware Setup' {
            fwsetup
    }
}

Điều quan trọng là khối cấu hình với tiêu đề Boot Ubuntu 14.04.2 LTS from ISO. Bạn có thể thay đổi màu sắc và thời gian chờ theo sở thích của bạn. Tôi đã chọn black/light-magentavì nó vẫn trông hơi giống Ubuntu-ish nhưng có thể dễ dàng phân biệt khi tải chuỗi các cấu hình khác. Bạn có thể tìm thấy nhiều ví dụ cho các bản phân phối khác trong Arch Wiki và đọc hướng dẫn GRUB thực sự đáng để bạn dành thời gian nếu bạn muốn vượt qua điều đó.

Quay trở lại khối cấu hình, rõ ràng là ISO được tham chiếu là /efi/boot/ubuntu-14.04.2-desktop-amd64.iso, vì vậy hãy sao chép ISO của bạn \EFI\BOOT\và thay thế ubuntu-14.04.2-desktop-amd64.isotrong cấu hình bằng tên tệp thực tế của ISO của bạn.

loopback loop $isofilelà dòng, sẽ tải tệp ISO của chúng tôi đến một thiết bị loopback mà từ đó chúng tôi có thể khởi động hạt nhân Linux trực tiếp. Điều này là có thể bởi vì hình ảnh EFI GRUB của chúng tôi bao gồm mô-đun loopback. (Một chút thử và sai đã tham gia vào việc chỉ ra các module một cách hợp lý để bao gồm. Bạn không nên thấy bất kỳ thông báo lỗi, nó vẫn không hoàn hảo mặc dù.) Nói về kernel bạn có thể thêm các tham số kernel như toram, các thông số cho các ngôn ngữ khác nhau (ví dụ locale=de_DE bootkbd=de) và như trong ví dụ:persistent

2.3. Thêm kiên trì

Bạn có thể thêm một phân vùng như được mô tả trong: Làm cách nào để tôi có được USB trực tiếp để sử dụng phân vùng để duy trì? Hoặc bạn có thể tạo một casper-rwtệp và đặt nó vào thư mục gốc của ổ USB.

dd if=/dev/zero of=casper-rw bs=1M count=4094
mkfs.ext4 -m 0 casper-rw

Tôi chưa kiểm tra mức tối đa tuyệt đối là bao nhiêu, nó phải nằm trong khoảng từ 4094 đến 4096 MB. Sử dụng một phân vùng nếu bạn có ý định sử dụng nhiều không gian hơn. Lưu ý rằng mọi thay đổi đối với (root) là một sửa đổi đối với hệ thống tệp lớp phủ, thậm chí xóa các tệp.

2.4. Kiểm tra tính toàn vẹn

Bạn nên xem câu trả lời cho các câu hỏi sau để xác minh rằng nội dung Live ISO trên ổ USB đang trong tình trạng nguyên sơ:

2.5. Khởi động an toàn UEFI

Secure Boot sẽ trở thành bắt buộc với các máy Windows 10, tôi khuyên bạn nên xem PreLoader của Linux Foundation để thêm chức năng Secure Boot cho thiết lập này. Dưới đây là một số menu minh họa nghệ thuật ASCII của HashTool đi kèm .


Xin chúc mừng, tôi muốn nói rằng bạn đã thành thạo việc khởi động UEFI và không nên sợ nữa.


1
hãy để tôi chỉ ra (a) rằng tất cả các PC được xuất xưởng trong 5 năm gần đây đều có khả năng này; (b) rằng root trình cài đặt .iso sau đó có thể sử dụng thanh usb đầy đủ như bộ lưu trữ liên tục thông thường. (sử dụng các tùy chọn gắn kết ro để bảo vệ khỏi việc xóa ngẫu nhiên.) cho các PC hiện đại và các kiểu sử dụng phổ biến, đây có vẻ là một giải pháp tốt hơn so với giải pháp mặc định của người tạo usb trực tiếp.
dùng1539216

3
Trong khi sử dụng phương thức GUI, tôi đã gặp phải một số lỗi liên kết tượng trưng . Điều này có liên quan không? Bạn có thể vui lòng giải thích?
VRR

1
Xin chào, LiveWireBT! Cảm ơn bạn đã trả lời thú vị như vậy !! Tôi đã làm theo 2. Phương pháp loopback ISO (nâng cao) và được quản lý để khởi động UEFI từ ổ đĩa flash USB. Nhưng, khi kết thúc quá trình khởi động, tôi nhận được thông báo lỗi: Không thể mount / dev / loop2 on / cow và sau khi nhấn enter, tôi thấy một dấu nhắc (initramfs). Bạn có thể giúp tôi với nó?
zuba

Tôi cũng muốn cảm ơn bạn cho một hướng dẫn tuyệt vời, nó đã rõ ràng và súc tích. Tôi thậm chí không bao giờ nghĩ đến việc phân vùng ổ ngón tay cái và có nhiều hệ điều hành trên đó. Cảm ơn một lần nữa!
HHR Jaber

2
Ít nhất là trong 16.04, "sao chép tất cả các tệp" không khởi động được do đối số dòng nhân grub.cfg "file = / cdrom / preseed / ub Ubuntu.seed". Không có tệp nào như vậy, có lẽ liên quan đến liên kết tượng trưng bị thiếu đã đề cập trước đó (ubfox đến.). Chỉnh sửa grub.cfg để xóa tệp = ... và thay thế nó bằng "live-media-path = / casper / ign_uuid"
ubfan1

3

Trích xuất từ ​​tệp ISO sang FAT32

Trích xuất nội dung của tệp ISO máy tính để bàn Ubuntu 64 bit vào phân vùng có hệ thống tệp FAT32 và cờ khởi động sẽ thực hiện công việc: tạo ổ đĩa trực tiếp, chỉ khởi động ở chế độ UEFI. Nó được gọi là 'Sao chép tệp từ phương thức ISO' tại đây (trong câu trả lời được chấp nhận).

Kiểm tra nếu chạy ở chế độ UEFI hoặc BIOS

Nhưng thật dễ dàng để kiểm tra trong một hệ thống Ubuntu đang chạy (trực tiếp cũng như đã cài đặt), nếu nó được khởi động ở chế độ UEFI hoặc BIOS. Chạy dòng lệnh này,

test -d /sys/firmware/efi && echo efi || echo bios

Điều này làm cho nó đơn giản để sử dụng các hệ thống trực tiếp có thể được sử dụng trong cả hai chế độ khởi động, cũng có thể là một lợi thế.

Xem thêm các liên kết sau để được giải thích và mô tả chi tiết hơn về phương pháp,

help.ubfox.com/community/Installation/iso2usb

help.ubfox.com/community/Installation/iso2usb/diy


2

Sử dụng ddlàm việc cho tôi, vì một số lý do, phiên bản GUI không hoạt động. Vì vậy, trước tiên, bạn có thể muốn theo dõi tiến trình của dd , một tùy chọn khác là sử dụng tùy chọn SIGUSR1 để kích hoạt ddđể báo cáo tiến trình của nó theo định kỳ, nhưng điều này phức tạp hơn pv.

Sau đó:

sudo dd if=path/to/image/file | pv | sudo dd of=/dev/device_you_want_to_use

( /dev/device_you_want_to_usethường sẽ được /dev/sdb, nhưng kiểm tra với df!)


8
Tạo phương tiện theo cách này không dẫn đến phương tiện có thể khởi động chỉ UEFI . Nhấn mạnh vào đoạn cuối của câu hỏi: "Cũng có một lợi thế để tạo phương tiện truyền thông trực tiếp USB chỉ có UEFI: Bạn biết rằng nó chắc chắn đã khởi động thông qua UEFI." Có phương tiện có thể khởi động cả hai cách là một vấn đề khi cố gắng hiểu và thiết lập cài đặt Ubuntu có khả năng khởi động UEFI.
LiveWireBT

1
Tôi hiểu rồi. Điều kỳ lạ là theo cách này, tôi đã có thể tạo ra một hình ảnh khởi động ở chế độ UEFI (tôi biết rằng, vì máy tính xách tay đã được thiết lập để chỉ cho phép khởi động uefi và cũng vì màn hình inital). Câu trả lời được đặt trước không hoạt động với tôi, máy tính sẽ không khởi động với hình ảnh được tạo bằng cách chỉ sao chép các tệp.
sup

5
@sup phương thức này tạo phương tiện thể khởi động UEFI. Vấn đề là nó không chỉ có khả năng khởi động UEFI, như được yêu cầu trong câu hỏi: nó cũng có thể được khởi động ở chế độ BIOS.
Darael
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.