Cấu Hình Grub để Boot Trực Tiếp File ISO (Boot ISO file from Grub) - Thekalitools.com

Saturday, February 10, 2018

Cấu Hình Grub để Boot Trực Tiếp File ISO (Boot ISO file from Grub)

Boot Linux không cần USB

Đã có lúc mình chẳng có USB để tạo USB Boot nhưng lại muốn cài lại OS khác điều đó hoàn toàn khả thi vì Grub2 có khả năng cho phép ta boot trực tiếp từ một file .iso, không cần giải nén, không cần USB, không cần thêm phần mềm hỗ trợ. Phương pháp này được gọi là ISOBoot.
Grub2/ISOBoot
Trong bài viết này mình sẽ thử thực hiện với Linux Mint 18, đối với các hệ điều hành khác các bạn có thể thực hiện tương tự nhé.



Chuẩn bị:

Bạn chỉ cần một chuẩn bị một file .iso thôi, hãy ghi nhớ lại đường dẫn tới file.
Lưu ý: Khi sử dụng ISOBoot, bạn sẽ không thể thao tác chỉnh sửa với phân vùng chứa file .iso. Vì vậy, khi bạn muốn dùng ISOBoot để cài mới hệ điều hành, bạn phải chắc chắn rằng phân vùng chứa file .iso khác với phân vùng cài đặt.

Bước 1. Kiểm tra nội dung file .ISO

Bạn sẽ cần tìm đường dẫn của một số tập tin quan trọng trước khi chúng ta bắt đầu. Hãy mở file .iso lên bằng một trình quản lý file nén, ví dụ như ở Ubuntu, ta dùng Archive Manager. Hãy tìm hai tập tin [[scode]]vmlinuz[[escode]] và [[scode]]initrd.lz[[escode]]. Nó thường nằm trong thư mục [[scode]]/casper[[escode]]. Hãy ghi lại đường dẫn:
[[lcode]]/casper/vmlinuz
/casper/initrd.lz[[ecode]]

Bước 2. Kiểm tra phân vùng

Tiếp theo bạn sẽ cần kiểm tra xem phân vùng nào đang chưa file .iso của bạn. Mở Terminal lên và gõ lệnh:
[[mcode]]$ sudo fdisk -l[[ecode]]
Một danh sách ổ cứng và phân vùng sẽ hiện ra:
Phân vùng trên máy.
Ở đây, file .iso của mình chứa trong phân vùng có tên là /dev/sda2, như vậy đối với Grub sẽ là hd0,2. Tiếp tục ghi chú lại, ta sẽ cần ở bước sau.
Tương tự các bạn hãy đổi tên phân vùng lại nhé, ví dụ:
  • /dev/sdb1 sẽ là hd1,1
  • /dev/sdb2 sẽ là hd1,2

Bước 3. Cấu hình Grub2

Ưu điểm của cách này ta sẽ không cần cài thêm bất cứ phần mềm nào, chỉ cần chỉnh sửa file cấu hình Grub một chút.
Hãy mở file [[scode]]/etc/grub.d/40_custom[[escode]] lên, ở đây mình dùng gedit nhé, vì cần làm việc ngoài [[scode]]/home[[escode]] thì bạn cần phải dùng quyền root hoặc [[scode]]sudo[[escode]]:
[[mcode]]$ sudo gedit /etc/grub.d/40_custom[[ecode]]
Ta thêm đoạn sau vào cuối file, hãy để ý những đoạn được đánh dấu, bạn sẽ phải chỉnh lại cho phù hợp nhé:
[[lcode]]menuentry "Linux Mint 18 ISO" {
    set isofile="/home/phat/Downloads/linuxmint-18.3-cinnamon-64bit.iso"
    loopback loop (hd0,5)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
    initrd (loop)/casper/initrd.lz
}[[ecode]]

  • màu đỏ: để tên mà bạn muốn grub hiển thị.
  • màu xanh: hãy thay thành dường dẫn tới file .iso.
  • màu lục: hãy thay thành tên phần vùng mà bạn có ở bước 2.
  • màu tím: hãy thay thành đường dẫn tới file vmlinuz và initrd trong file iso.

Lưu lại, và chạy lệnh cập nhật cấu hình Grub:
[[mcode]]$ sudo update-grub[[ecode]]
Và bây giờ hãy khởi động lại máy và thử xem.

Lời kết

ISOBoot thực sự rất tiện lợi cho các bạn nào không có USB. Ở bài sau mình sẽ giới thiệu đến các bạn một số công cụ để có thể làm việc này một cách tự động. Bây giờ hãy thử xem, chúc các bạn thành công.
Tham khảo How-to Geek | Ubuntu Community 

No comments:

Post a Comment