Como ocultar a partição de recuperação do Grub2

0

Eu instalei uma distribuição Linux no PC de um amigo. Ele não sabe usar muito bem o Linux ou o Windows, e gostaria que fosse o mais fácil possível. Quando instalei o GRUB, ele detectou a partição de recuperação que a HP instalou para ele e é o primeiro Windows da lista.

Depois de pesquisar e procurar no manual do grub e nos arquivos de configuração, ainda não consigo descobrir como esconder uma partição do GRUB. Eu olhei para 30_osprober , mas não vi nenhuma maneira clara de excluir um sistema operacional.

Alguém pode me apontar na direção certa para excluir uma partição OS / do menu GRUB?

    
por Nostradamnit 25.01.2011 / 12:19

3 respostas

1

// EDIT // Alterado devido a edições (juro que isso mudou enquanto eu estava digitando)

Uma solução suja é editar o grub.cfg, mas isso precisaria acontecer toda vez que uma atualização do kernel acontecesse.

No grub v2: (NOTA ISSO NÃO É RECOMENDADO)

vim /boot/grub/grub.cfg

A maneira correta de conseguir isso é editar o /etc/grub.d/30_os-prober (como você mencionou) e dizer para ignorar certas partições, um bom guia pode ser encontrado aqui

A solução suja # 2 poderia ser executar um script que comente essa linha do grub.cfg para o seu amigo.

    
por 25.01.2011 / 14:11
5

Eu segui as diretrizes do este post (na seção 6)

GRUB 2 will find and create a menuentry for the Windows (Vista) Recovery partition. At least in Vista, the menu name is the same as the normal Vista operating partition, the only difference being the parttion designation. To remove the Recovery partition entry from the menu:

  • Backup the existing /etc/grub.d/30_os-prober file, remove the executable bit from the backup so it isn't run during updates, and open the original for editing (the section starts around line 134):

    sudo cp /etc/grub.d/30_os-prober /etc/grub.d/30_os-prober.original  && sudo chmod -x
    

    /etc/grub.d/30_os-prober.original

    gksu gedit +83 /etc/grub.d/30_os-prober &
    
  • Determine the exact title and the Windows recovery partition. These can be located in the /boot/grub/grub.cfg file. Add the entry below. In the example, the menuentry appeared as "Windows Vista (loader) (on /dev/sda1)". Make sure you select the correct partition as the title may be the same for the normal and recovery titles. The contents for $LONGNAME and ${DEVICE} should be the exact contents between the quotes in the menuentry for the recovery partition:

    for OS in ${OSPROBED} ; do
    DEVICE="'echo ${OS} | cut -d ':' -f 1'"
    LONGNAME="'echo ${OS} | cut -d ':' -f 2 | tr '^' ' ''"
    LABEL="'echo ${OS} | cut -d ':' -f 3 | tr '^' ' ''"
    BOOT="'echo ${OS} | cut -d ':' -f 4'"
    
    if [ -z "${LONGNAME}" ] ; then
     LONGNAME="${LABEL}"
    fi
    
    # Added to remove Windows Recovery
    if [ "$LONGNAME" = "Windows Vista (loader)" ] && [ "${DEVICE}" = "/dev/sda1" ] ; then
    continue
    fi
    # End Added
    

Save the file, then run:

sudo update-grub

Em vez do Vista, eu tive que pensar no Windows 7 (o método é o mesmo) e tudo funcionou.

    
por 12.09.2012 / 07:04
0

No arquivo / etc / default / grub você pode adicionar

GRUB_OS_PROBER_SKIP_LIST com uma lista de UUIDs separados por espaço @ path_to_device

por exemplo GRUB_OS_PROBER_SKIP_LIST = 12345 @ / dev / sda1

para que o OS_PROBER ignore os sistemas de arquivos.

Você pode obter uma lista dos UUIDs do lsblk -fs

Veja mais sobre GRUB_OS_PROBER_SKIP_LIST .

    
por 28.09.2018 / 20:57