Trình Quản lý tệp tin Grub2 – Liệt kê các thiết bị và tệp tin

Trình Quản lý tệp tin của Grub2 giúp bạn duyệt danh sách các thiết bị và tệp tin, nó cũng hỗ trợ đọc tệp tin văn bản, mở tệp tin ISO và hình ảnh phân vùng.

Trình Quản lý tệp tin Grub2

Từ trình đơn chính của Grub2, bấm phím d để truy cập nhanh vào trình đơn Trình Quản lý tệp tin.

Trình Quản lý tệp tin Grub2

Dưới đây là kịch bản Grub2 mà tôi đã viết cho AIO Boot. Bạn có thể sử dụng nó nếu bạn cài đặt Grub2 mà không sử dụng AIO Boot.

FileManager.cfg:

function FileManager {
	submenu "... ${1}" "$1" {
		regexp -s subdir ".*\/(.*)" "$2"
		if [ -n "$subdir" ]; then
			regexp -s dir "(.*)\/.*" "$2"
			FileManager "$dir"
		else configfile ${prefix}/FileManager.cfg; fi
	}
	for file in $1/*; do
		regexp -s subdir ".*\/(.*)" "$file"
		if test -d "$file"; then
			submenu "${subdir}..." "$file" {
				FileManager "${2}"
			}
		elif test -f "$file"; then
			regexp -s ext ".*\.(.*)" "$file"
			tr -D -s ext "$ext"
			if [ "$ext" == "iso" ] -o [ "$ext" == "partimg" ] -o [ "$ext" == "img" ] -o [ "$ext" == "ufs" ] -o [ "$ext" == "hfs" ]; then
				submenu "${subdir}" "$file" "$1" {
					regexp -s device '\((.*)\).*' "$2"
					if ! test -e (loop1); then loop=loop1;
					elif ! test -e (loop2); then loop=loop2; 
					elif ! test -e (loop3); then loop=loop3; 
					elif ! test -e (loop4); then loop=loop4;
					elif ! test -e (loop5); then loop=loop5;
					else loop=loop1; fi
					if test -e ($loop); then loopback -d $loop; fi
					loopback $loop "$2"
					if probe -f $loop; then FileManager ($loop); else loopback -d $loop; fi
				}
			else
				menuentry "${subdir}" "$file" {
					cat "${2}"
					echo
					echo -n "Press ESC to return to the menu "
					sleep -i -v 60
				}
			fi
		fi
	done
	menuentry "${backcfg} [${press} B]" --hotkey=b {
		configfile ${prefix}/Main.cfg
	}
}
echo "Scanning list of partitions on this computer. Please wait..."
for dev in (*); do
	regexp -s device '\((.*)\)' $dev
	if ! searchindevice "$device" "on" "on"; then continue; fi
	probe -f -s fstype $device
	if [ -z "$fstype" ] -o [ "$fstype" == "procfs" ]; then continue; fi
	probe -s vollabel -l $device
	probe -s voluuid -u $device
	if [ -z "$vollabel" ]; then set vollabel="No Name"; fi
	submenu "${device} - ${vollabel} - ${fstype} - ${voluuid}" $device {
		FileManager "(${2})"
	}
	unset vollabel
	unset voluuid
	unset fstype
done
menuentry "Return to the Main menu" {
	configfile ${prefix}/grub.cfg
}

Trình đơn:

submenu "File Manager" {
	configfile ${prefix}/FileManager.cfg
}

Lệnh

Bạn có thể sử dụng lệnh ls để liệt kê các thiết bị và tệp tin. Bấm phím c để nhập các lệnh.

Liệt kê danh sách thiết bị, bao gồm đĩa cứng, đĩa mềm, CD/DVD…

ls -l

Liệt kê các thư mục và tệp tin trên thiết bị gốc:

ls -l /
ls -l /AIO
ls -l /EFI

Liệt kê các thư mục và tệp tin trên một thiết bị khác (ví dụ hd1,msdos1):

ls -l (hd1,msdos1)/
ls -l (hd1,msdos1)/AIO
ls -l (hd1,msdos1)/EFI

Sử dụng lệnh cat để đọc tệp tin văn bản:

cat --dos /autorun.inf
cat (hd1,msdos1)/myfile.txt
cat /etc/fstab

Sử dụng lệnh loopback đối với các tệp tin là hệ thống tệp tin. Ví dụ: tệp tin hình ảnh phân vùng (PartIMG) và ISO (iso9660).

loopback loop0 /AIO/Files/PartIMG/PartIMG_ROOT.img
ls -l (loop0)/
loopback -d loop0
loopback loop1 /ubuntu.iso
ls -l (loop1)/
loopback -d loop1

Trình Quản lý tệp tin của Grub2 cũng sử dụng lệnh catloopback để mở các tệp tin.

Share this...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestShare on RedditShare on TumblrShare on VKBuffer this pageDigg thisEmail this to someoneFlattr the authorPrint this pageShare on StumbleUponShare on Yummly