Để biết người dùng đã khởi động từ phân vùng nào, hãy nhìn vào menu bộ tải khởi động trước khi khởi động bất kỳ hệ thống nào đã cài đặt. Thật khó để nói mà không nhìn thấy menu bộ tải khởi động.
Nhìn vào đâu
Trong các ảnh chụp màn hình kết hợp sau đây, tôi đã dán nhãn ba gợi ý mà người ta có thể biết từ phân vùng nào mà người dùng đã khởi động.
Nhãn (1): Các mục trình đơn GNU GRUB bên dưới mục đầu tiên
Nhãn (2): Phiên bản GNU GRUB ở đầu trình đơn bộ tải khởi động
Nhãn (3): Hình nền GNU GRUB (yêu cầu thiết lập thủ công)
Gợi ý rõ ràng nhất là nhãn (3), đó là thay đổi hình nền GNU GRUB trên hệ thống có kiểm soát menu bộ tải khởi động. Đây là cách dễ nhất để nói, với điều kiện người dùng thiết lập trước.
Nhãn (1) đã giải thích
Tìm phân vùng không được liệt kê trong các mục menu bên dưới mục đầu tiên. Trong ảnh chụp màn hình, chỉ có hai hệ điều hành được cài đặt là "Ubuntu" và "Ubuntu 14.04.5 LTS".
Ubuntu
Advanced options for Ubuntu
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Ubuntu 14.04.5 LTS (14.04) (on /dev/sda3)
Advanced options for Ubuntu 14.04.5 LTS (14.04) (on /dev/sda3)
Cái sau đã được đề cập (on /dev/sda3)
, có nghĩa là cái trước có thể nằm trên /dev/sda2
hoặc /dev/sda1
. Để chắc chắn, sau khi khởi động hệ thống, tức là "Ubuntu", hãy chạy lệnh có liên quan để liệt kê các phân vùng có sẵn ( lsblk
dường như là đơn giản nhất).
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 13G 0 disk
├─sda1 8:1 0 976M 0 part [SWAP]
├─sda2 8:2 0 6G 0 part /
└─sda3 8:3 0 6G 0 part
sr0 11:0 1 55.7M 0 rom
Chỉ sau khi so sánh với đầu ra của lsblk
, thì chúng ta mới biết rằng hệ thống tức là "Ubuntu" được tìm thấy tại /dev/sda2
( không được liệt kê trong các mục menu) từ đó trình đơn bộ tải khởi động được quản lý.
Nhãn (2) giải thích
Tìm phiên bản GRUB được in ở đầu trình đơn bộ tải khởi động. Lưu ý rằng phiên bản đó và so sánh với phiên bản GRUB được tìm thấy trên hệ thống đã khởi động, tức là "Ubuntu".
Trong ảnh chụp màn hình (nửa dưới): GNU GRUB version 2.02~beta2-9
Sau khi khởi động hệ thống tức là "Ubuntu", hãy chạy lệnh có liên quan để kiểm tra phiên bản của gói GRUB ( grub-install --version
có liên quan và đơn giản nhất).
$ grub-install --version
grub-install (GRUB) 2.02~beta2-9
Làm thế nào điều này có liên quan? Bởi vì grub-install
và update-grub
các lệnh đều được cung cấp bởi cùng một gói grub2-common
. Cho rằng menu bộ tải khởi động được tạo và cập nhật bằng các công cụ từ cùng một gói, phiên bản in ở đầu trình đơn bộ tải khởi động sẽ giống nhau.
Nhãn (3) giải thích
Gợi ý này yêu cầu phải được thiết lập thủ công, vì hình nền mặc định của menu bộ tải khởi động là không có (chỉ đơn giản là màu đen). Hình nền phải có độ sâu 8 bit.
Nếu desktop-base
gói được cài đặt trên hệ thống của bạn, những hình nền như vậy được tạo riêng cho GRUB có thể dễ dàng tìm thấy với hậu tố tên tệp *grub.png
trong thư mục đích.
$ ls /usr/share/images/desktop-base/*grub.png
/usr/share/images/desktop-base/desktop-grub.png
/usr/share/images/desktop-base/joy-grub.png
/usr/share/images/desktop-base/moreblue-orbit-grub.png
/usr/share/images/desktop-base/spacefun-grub.png
Để thiết lập hình nền:
Mở /etc/default/grub
tệp dưới dạng siêu người dùng, sau đó thêm dòng GRUB_BACKGROUND=
có đường dẫn đầy đủ vào hình ảnh bạn chọn và trích dẫn.
$ sudo nano /etc/default/grub
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Show background in GRUB boot menu
GRUB_BACKGROUND="/usr/share/images/desktop-base/spacefun-grub.png"
...
Sau đó, chạy sudo update-grub
để cập nhật /boot/grub/grub.cfg
bao gồm menu bộ tải khởi động. Người dùng sẽ thấy đầu ra tương tự như sau.
$ sudo update-grub
Generating grub configuration file ...
Found background: /usr/share/images/desktop-base/spacefun-grub.png
Found background image: /usr/share/images/desktop-base/spacefun-grub.png
Found linux image: /boot/vmlinuz-3.13.0-24-generic
Found initrd image: /boot/initrd.img-3.13.0-24-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Ubuntu 14.04.5 LTS (14.04) on /dev/sda3
done
Khởi động lại máy và xem menu trình tải khởi động có bất kỳ thay đổi rõ ràng nào được thực hiện bởi lệnh cập nhật từ hệ thống.
Khác, lặp lại các bước cho các hệ thống khác, từng bước một. Các bước lặp đi lặp lại sẽ không cần thiết, người dùng nên biết hệ thống nào có quyền kiểm soát menu trình tải khởi động (một lần nữa, điều này phụ thuộc vào cách cài đặt được thực hiện).
Khước từ
Câu trả lời này giải thích cho các tiêu chí đã được kiểm chứng và thử nghiệm tốt cho hệ thống BIOS với thiết lập đa khởi động bằng phiên bản GNU GRUB PC / BIOS. Các ngoại lệ sau đây sẽ được áp dụng.
Đối với bản sao hệ thống UEFI sử dụng phiên bản GNU GRUB EFI, không được bảo đảm hoặc không biết liệu các tiêu chí có vẻ giống như được mô tả ở trên không.
Nhấn mạnh được trao cho giao diện của trình tải khởi động (làm thế nào nó có thể xuất hiện khác nhau, tức là nửa trên cùng của ảnh chụp màn hình) thay vì thể hiện cách hoạt động của chuỗi tải. Như vậy, liên quan đến "cách đa khởi động được thiết lập như nhìn thấy trong ảnh chụp màn hình" sẽ không được giải thích trong câu trả lời này.
Nếu thiết lập đa khởi động được tạo từ các bản sao chính xác của cùng một hệ điều hành tương tự như Ubuntu 14.04, Kubfox 14.04, Xubfox 14.04, v.v., thì cách duy nhất đáng tin cậy để biết phân vùng mà người dùng đã khởi động là nhãn (3).
Nhãn (3) có thể hoạt động tốt hơn bằng cách sử dụng hình nền tùy chỉnh ghi rõ ràng từ đó được khởi động, tức là "Menu khởi động này được quản lý từ / dev / sda1". Tương tự, liên quan đến "cách tạo hình nền tùy chỉnh cho GRUB" sẽ không được giải thích trong câu trả lời này.
TL; DR Nhìn vào menu bộ tải khởi động trước khi khởi động bất kỳ hệ thống nào đã cài đặt. Cách dễ nhất và đáng tin cậy nhất để biết là nhãn (3), đó là thiết lập hình nền GRUB theo cách thủ công.
/boot/grub/grub.cfg
tệp được sử dụng để khởi động có thể đã bị xóa, phân vùng đó có thể đã bị xóa khỏi bảng phân vùng và đĩa đó đã bị xóa khỏi hệ thống.