winboot: check all grub conf files
This commit is contained in:
		
							parent
							
								
									9486c02189
								
							
						
					
					
						commit
						177a2a24b5
					
				
							
								
								
									
										19
									
								
								winboot
								
								
								
								
							
							
						
						
									
										19
									
								
								winboot
								
								
								
								
							|  | @ -1,20 +1,31 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| GRUB_DEFAULT_PATH='/etc/default/grub' | ||||
| WIN_GRUB="3" | ||||
| GRUB_DEFAULT_DIR='/etc/default/grub.d' | ||||
| WIN_GRUB="2" | ||||
| 
 | ||||
| # First check in Grub default dir if saved mode is set | ||||
| if grep -q -E -R -- "^GRUB_DEFAULT=saved" "${GRUB_DEFAULT_DIR}" | ||||
| then | ||||
| 	printf '%b' "Reboot to windaube partition\\n" | ||||
| 	sudo grub-reboot "${WIN_GRUB}" | ||||
| 	sudo systemctl reboot | ||||
| fi | ||||
| 
 | ||||
| # Otherwise check the default grub file | ||||
| if grep -q -E -- "^GRUB_DEFAULT=saved" "${GRUB_DEFAULT_PATH}" | ||||
| then | ||||
| 	printf '%b' "Reboot to windaube partition\n" | ||||
| 	printf '%b' "Reboot to windaube partition\\n" | ||||
| 	sudo grub-reboot "${WIN_GRUB}" | ||||
| 	sudo systemctl reboot | ||||
| else | ||||
| 	printf '%b' "GRUB_DEFAULT is not set in 'saved' mode\n" | ||||
| 
 | ||||
| 	printf '%b' "GRUB_DEFAULT is not set in 'saved' mode\\n" | ||||
| 	sudo sed -i 's/\(^GRUB_DEFAULT.*\)/#\1\nGRUB_DEFAULT=saved/' "${GRUB_DEFAULT_PATH}" | ||||
| 	GRUB_DEFAULT_ENTRY=$(grep -E -- "#GRUB_DEFAULT=" "${GRUB_DEFAULT_PATH}" | cut -d"=" -f2) | ||||
| 	sudo grub-set-default "${GRUB_DEFAULT_ENTRY}" | ||||
| 	sudo update-grub | ||||
| 	printf '%b' "Please launch this script once again.\n" | ||||
| 	printf '%b' "Please launch this script once again.\\n" | ||||
| fi | ||||
| 
 | ||||
| exit 0 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue