Thứ Bảy, 31 tháng 7, 2021

grub.cfg nhớ vị trí menuentry cuối cùng người dùng chọn

 


Để thực hiện lưu lại những thông số cho lần sau dùng lại, grub2 sử dụng 1 file lưu có tên là grubenv, đặt cùng thư mục với file grub.cfg

file này dùng để lưu các biến và để dùng lại sau này.

ví dụ trong file grub.cfg thường có giá trị biến default dùng để chỉ định vị trí mặc định lựa chọn khi boot

set default=2

khi chúng ta lưu giá trị default chúng ta thực hiện lệnh sau

save_env default

giá trị này sẽ được load sau này nếu chúng ta thêm vào đầu file grub.cfg dòng lệnh sau

load_env

khi đó, giá trị default đã được lưu sẽ được tải lại, và nó chọn đúng vị trí menu mà ta đã ghi nhớ trước đó.

Trong 1 file grub.cfg có nhiều vị trí khác nhau, chúng ta không thể nào cứ đếm vị trị của menuentry rồi gán lệnh lưu được. Do đó với mỗi menuentry ta gán id cho nó, gán id thông qua lệnh --id 'tên_id'

ví dụ

menuentry "boot into winpe" --id 'winpe' {

.....

}

khi chúng ta chọn menuentry này, thì sẽ xuất hiện 1 biến gọi là chosen, được gán giá trị của id khi đó giá trị của chosen='winpe'

chúng ta gán giá trị của chosen cho default

set default=${chosen}

sau đó lưu default

save_env default

* File menentry dùng để lưu hoàn chỉnh như sau

if [ -f /boot/grub/grubenv ]; then load_env; fi

function savedefault {

set default=${chosen}

save_env default

}

#.....

menuentry "khởi động vào winpe" --id 'winpe' {

savedefault

#.....

}

menuentry "khởi động vào msdos" --id 'msdos' {

savedefault

#.....

}

menuentry "khởi động vào linux" --id 'linux' {

savedefault

#.....

}

 

Thứ Tư, 21 tháng 7, 2021

Chương trình submaker phiên bản Web

 Sau những giờ làm việc mệt mỏi, tôi lại ngồi viết vài dòng code như 1 thú vui

Đó là thứ khiên tôi giải khuây nhất. và cho ra đời phiên bản web của chương trình submaker

Bạn có thể download bản cập nhật tại đây

https://github.com/holyeyed/sub-maker/releases/tag/v5.0