Làm thế nào để chạy tập tin ISO trực tiếp từ ổ cứng với GRUB2
Hầu hết các bản phân phối Linux đều cung cấp môi trường sống, bạn có thể khởi động từ ổ USB, để bạn có thể kiểm tra hệ thống mà không cần cài đặt. Bạn có thể sử dụng nó để đánh giá distro hoặc như một hệ điều hành dùng một lần. Mặc dù rất dễ dàng để sao chép chúng vào một đĩa USB, trong một số trường hợp, người ta có thể muốn chạy cùng một hình ảnh ISO thường xuyên hoặc chạy các tệp khác nhau thường xuyên. GRUB 2 có thể được cấu hình để bạn không cần phải ghi ISO vào đĩa hoặc sử dụng ổ USB, nhưng cần phải chạy một môi trường trực tiếp tạo thành menu khởi động.
Lấy và kiểm tra ảnh ISO có thể khởi động
Để có được một hình ảnh ISO, bạn thường nên truy cập trang web của bản phân phối mong muốn và tải xuống bất kỳ hình ảnh nào tương thích với thiết lập của bạn. Nếu hình ảnh có thể được khởi động từ USB, nó cũng có thể bắt đầu từ menu GRUB.
Khi hình ảnh đã tải xong, bạn nên kiểm tra tính toàn vẹn của nó bằng cách chạy một kiểm tra md5 đơn giản trên đó. Điều này sẽ tạo ra một sự kết hợp dài các số và ký tự chữ và số
mà bạn có thể so sánh với MD5 checksum được cung cấp trên trang tải xuống. Cả hai nên giống hệt nhau.
Thiết lập GRUB 2
Ảnh ISO chứa toàn bộ hệ thống. Tất cả những gì bạn cần làm là gửi trực tiếp GRUB2 đến tệp thích hợp và cho nó biết nơi nó có thể tìm thấy hạt nhân và hệ thống tệp initramdisk hoặc initram (tùy thuộc vào việc phân phối của bạn sử dụng).
Trong ví dụ này, một môi trường sống Kubuntu 15.04 sẽ được thiết lập để chạy trên một hộp Ubuntu 14.04 như một mục trình đơn Grub. Nó sẽ làm việc cho hầu hết các hệ thống và các dẫn xuất dựa trên Ubuntu mới hơn.
Trong ví dụ này, tệp kubuntu-15.04-desktop-amd64.iso
sống trong /home/maketecheasier/TempISOs/
on /dev/sda1
.
Để làm cho GRUB2 tìm kiếm nó ở đúng nơi, bạn cần chỉnh sửa
/etc/grub.d/40_custom
tệp cho phép bạn thêm các mục trình đơn của riêng bạn. Tệp phải tồn tại và chứa một vài dòng.
Để bắt đầu Kubuntu từ vị trí trên, hãy thêm mã sau đây (sau khi điều chỉnh nó theo nhu cầu của bạn) bên dưới phần nhận xét, mà không sửa đổi nội dung gốc.
trình đơn "Kubuntu 15.04 ISO" {set isofile = "/ home / maketecheasier / TempISOs / kubuntu-15.04-desktop-amd64.iso" loopback loop (hd0, 1) $ isofile echo "Bắt đầu $ isofile ..." linux (vòng lặp) /casper/vmlinuz.efi boot = casper iso-scan / filename = $ {isofile} init bắt đầu yên tĩnh (vòng lặp) /casper/initrd.lz}
Phá vỡ mã trên
Đầu tiên thiết lập một biến có tên là $menuentry
. Đây là nơi tập tin ISO được đặt. Nếu bạn muốn thay đổi thành một ISO khác, bạn cần thay đổi bit mà nó nói isofile="/path/to/file/name-of-iso-file-.iso"
.
Dòng tiếp theo là nơi bạn chỉ định thiết bị loopback; bạn cũng cần cung cấp cho nó số phân vùng phù hợp. Đây là nơi mà nó nói
loopback loop (hd0, 1) $ isofile
Lưu ý hd0, 1
bit; nó quan trọng. Điều này có nghĩa là HDD đầu tiên, phân vùng đầu tiên ( /dev/sda1
).
Việc đặt tên GRUB ở đây hơi khó hiểu. Đối với ổ cứng, nó bắt đầu đếm từ “0”, làm cho HDD # 0 đầu tiên, số thứ hai # 1, số thứ ba # 2, vv Tuy nhiên, đối với phân vùng, nó sẽ bắt đầu đếm từ 1. Phân vùng thứ nhất là số 1, thứ hai là # 2, vv Có thể có một lý do chính đáng cho điều này nhưng không nhất thiết là một lý do lành mạnh (UX-khôn ngoan nó là một thảm họa, để chắc chắn) ..
Điều này làm cho đĩa nắm tay, phân vùng đầu tiên, mà trong Linux thường sẽ trông giống như /dev/sda1
trở thành hd0, 1
trong GRUB2. Đĩa thứ hai, phân vùng thứ ba sẽ là hd1, 3
, v.v.
Dòng quan trọng tiếp theo là
linux (loop) /casper/vmlinuz.efi boot = casper iso-scan / filename = $ {isofile} giật gân yên tĩnh
Nó sẽ tải hình ảnh hạt nhân. Trên các đĩa CD Ubuntu Live mới hơn, điều này sẽ nằm trong thư mục /casper
và được gọi là vmlinuz.efi
. Nếu bạn sử dụng một hệ thống khác, hạt nhân của bạn có thể thiếu phần mở rộng .efi
hoặc được đặt ở một nơi khác hoàn toàn (Bạn có thể dễ dàng kiểm tra điều này bằng cách mở tập tin ISO với trình quản lý lưu trữ và tìm bên trong /casper.
). Các tùy chọn cuối cùng, quiet splash,
sẽ là các tùy chọn GRUB thông thường của bạn, nếu bạn quan tâm thay đổi chúng.
Cuối cùng
initrd (vòng lặp) /casper/initrd.lz
sẽ tải initrd
, chịu trách nhiệm tải RAMDisk vào bộ nhớ để khởi động.
Khởi động vào hệ thống trực tiếp của bạn
Để làm cho tất cả hoạt động, bạn sẽ chỉ cần cập nhật GRUB2
sudo update-grub
Khi bạn khởi động lại hệ thống, bạn sẽ thấy một mục GRUB mới cho phép bạn nạp vào ảnh ISO mà bạn vừa thiết lập.
Chọn mục nhập mới sẽ khởi động bạn vào môi trường trực tiếp, giống như khởi động từ đĩa DVD hoặc USB.