나는 사용한다GRUB v2나의 스타트업 매니저로서.
내가 원할 때마다다른 것으로 재부팅OS(또는 메뉴 항목(예: MemTest
))에서는 다음 명령을 사용합니다.
# grub-reboot n
n
숫자는 어디에 있습니까 (0부터 시작)필수 메뉴 항목.
예를 들어:
따라서 위의 예에서 재부팅하려면 Squeeze Linux
다음을 입력합니다.
# grub-reboot 4
그러나 여러 대의 컴퓨터 및/또는 여러 운영 체제를 사용하는 경우기억하기 어렵다해당 항목의 번호를 확인하려면 메뉴를 재부팅해야 했습니다.
알아요항목이 저장됩니다./boot/grub/grub.cfg
그러나 "submenu"라는 줄 에서는 menuentry
GRUB가 더 복잡해지고(확실히 고급화되면) 항목 수를 계산하기 위해 파일을 읽기가 조금 더 어려워집니다.
실용적인 방법 없을까요모든 항목의 개수를 알아보세요GRUB v2 부팅 메뉴?
답변1
나는 이것을 사용한다명령줄/boot/grub/grub.cfg
이는 단지번호가 매겨진 항목 표시, 한 줄에 하나씩:
sed ':again;$!N;$!b again; :b; s/{[^{}]*}//g; t b' /boot/grub/grub.cfg | cut -c -60 | grep -e "^menuentry" -e "submenu" | nl -v 0 | grep -e "menuentry" -e "submenu" --color
결과(이전 그래픽 예와 다릅니다. 죄송합니다.):
내가 선호하는 방법은 다음과 같이 추가하는 것입니다.별칭 또는 기능. 예를 들어 다음의 함수로 사용됩니다 ~/bashrc
.
# List entries numbers for grub-reboot:
function GRUB-ListMenu() {
sed ':again;$!N;$!b again; :b; s/{[^{}]*}//g; t b' /boot/grub/grub.cfg | cut -c -60 | grep -e "^menuentry" -e "submenu" | nl -v 0 | grep -e "menuentry" -e "submenu" --color
}
설명하다:
sed
명령중괄호 사이의 모든 줄 삭제({
및}
)에 해당하므로드롭다운 하위 메뉴.- 이
cut
명령은 결과를 얻기 위해 처음 60자만 유지합니다.더 읽기 쉬움사용자용. - 이
grep
명령은 다음에 해당하는 행만 유지합니다.실제 메뉴 항목:menuentry
그리고submenu
. nl
명령계산각 줄(물론 0부터 시작).grep
꼭 필요한 것은 아닌 추가 명령이 있습니다 .색상결과;-) .
최적화에 대한 제안을 환영합니다.
Ubuntu Desktop, Server, v12, v14, Kali 및 BackTrack에서 실행되는 GRUB v2.02~beta2-9ubuntu1에서 테스트되었습니다. 다른 Linux에서의 동작에 대한 피드백이 권장됩니다(이 기사에 추가하겠습니다).