GRUB을 수정 / 설치 / 재설치하는 방법


9

그래서 250GB HDD, MintBook으로 바꾸려고하는 EeePC 1015pem의 스톡 드라이브로 시작했습니다. 드라이브는 물리적으로 작동 가능하지만 이전 OS를 포함하여 모든 데이터가 압축되었습니다. 이를 감안할 때 HDD를 데스크탑에 연결하고 Unetbootin-585를 통해 생성 된 라이브 USB에서 Linux Mint 16 Xfce를 설치했습니다. 따로 설정 10기가바이트에 대한 swap및 240기가바이트 ext4/.

이제 드라이브가 데스크탑 또는 넷북 부팅을 거부합니다. 두 마더 보드 모두 올바른 경고음이 울리므로 정상으로 보이며 두 시스템의 BIOS에 성공적으로 액세스 할 수 있습니다. 그러나 컴퓨터를 시작한 후 나타나는 유일한 것은 응답이없는 명령 줄입니다. 오류 메시지가 없습니다. grub 또는 grub-rescue도 없습니다.

다시 포맷하고 다시 시작하는 것 외에 시도 할 수있는 것이 있습니까? OS를 부팅 할 수있는 부트 로더를 설치하려면 어떻게해야합니까?


2
왜 데스크탑에 설치합니까? 대상 넷북에 직접 설치하지 않는 이유는 무엇입니까? 스왑을위한 10GB !? Ext4의 경우 240 /? 드라이브의 MBR에 GRUB을 설치 했습니까? UEFI를 사용하고 있습니까? 설정 한 파티셔닝 구성표를 보여 주시겠습니까?
terdon

순서 :> 왜 데스크탑에 설치합니까? 대상 넷북에 직접 설치하지 않는 이유는 무엇입니까? 넷북이 라이브 USB에 결함이 있기 때문에 데스크탑에서 설치했습니다. USB에서 데스크탑을 부팅 할 수 있지만 넷북을 부팅하려고하면 종료하기 전에 ~ 45 분 동안 Mint 로고가 빠르게 깜박입니다. 스왑을 위해> 10GB !? 나도 그럴만한 이유가 없었습니다. 그 공간이 절실히 필요하지 않습니다. Ext4의 경우 240 이상 및 /? ... 어떻게 든 나쁜가요? 내가 찾은 모든 소스는 "Ext4 사용"이라고 말했고 설치 프로그램은 파티션을 요구했습니다.
the.keV.nc

OK,이 때문에 사용 유넷 부트 인을 필요로 할 수도 있지만 공정의 정도는 (나는 비슷한 문제를 했어 그리고로 만든 개의 USB와 함께 일 다중 시스템 항목 설치 한? 당신이 UEFI를 사용하고 스레드를. 당신은 또한 내 다른 질문에 대답 수 있을까요?
바르면 그렇다면

> 드라이브의 MBR에 GRUB을 설치 했습니까? 아뇨 설치 관리자가 자체적으로 MBR을 편집했다고 생각했습니다. > UEFI를 사용하고 있습니까? 내 지식이 아닙니다. 내가해야합니까? > 설정 한 파티셔닝 구성표를 보여 주시겠습니까? 잠깐만
the.keV.nc

1
개인적으로 랩톱에 직접 설치하기 위해 더 열심히 노력하고 있습니다. 다른 것을 설치하면 복잡성 imo의 추가 레이어가 추가됩니다. 실제 USB 설치와 다른 것을 시도하십시오. @terdon의 제안에 대해서는 아무것도 모르지만 시도해보십시오.
Faheem Mitha

답변:


16

따라서 디스크에 부트 로더 (예 : 그럽)를 설치하지 않은 것 같습니다. 즉, 유효한 OS가 있지만 부팅 할 방법이 없으므로 사용할 수 없습니다.

HDD를 작동하는 컴퓨터에 연결하고 (라이브 CD를 사용할 수 있음) chroot 환경을 설정하고 그럽을 설치해야합니다.

  1. 당신이로 사용하게 될 파티션을 마운트 /(I 드라이브 호출 /dev/sdb하고 /파티션을 sdb1, 당신이 올바른 사람을 사용해야합니다, 이름이 다르게 적용될 수 있습니다 어딘가에) :

    sudo mount /dev/sdb1 /mnt/foo
    
  2. grub액세스해야하는 디렉토리를 바인드하십시오.

    sudo mount --bind /dev /mnt/foo/dev && 
    sudo mount --bind /dev/pts /mnt/foo/dev/pts && 
    sudo mount --bind /proc /mnt/foo/proc && 
    sudo mount --bind /sys /mnt/foo/sys
    
  3. chroot환경 설정

    sudo chroot /mnt/foo
    
  4. grub의 설정 파일을 생성하십시오 :

    sudo grub-mkconfig -o /boot/grub/grub.cfg
    

    여러 운영 체제가 설치되어 있으면 위의 명령에 모든 운영 체제가 나열되어 있는지 확인하십시오. 예를 들면 다음과 같습니다.

    $ sudo grub-mkconfig -o /boot/grub/grub.cfg
    Generating grub.cfg ...
    Found background image: /usr/share/images/desktop-base/desktop-grub.png
    Found linux image: /boot/vmlinuz-3.10-2-amd64
    Found initrd image: /boot/initrd.img-3.10-2-amd64
    Found linux image: /boot/vmlinuz-3.2.0-4-amd64
    Found initrd image: /boot/initrd.img-3.2.0-4-amd64
    Found linux image: /boot/vmlinuz-3.2.0-3-amd64
    Found initrd image: /boot/initrd.img-3.2.0-3-amd64
    Found linux image: /boot/vmlinuz-3.2.0-2-amd64
    Found initrd image: /boot/initrd.img-3.2.0-2-amd64
    Found memtest86+ image: /boot/memtest86+.bin
    Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
    Found Windows 7 (loader) on /dev/sda2
    done
    
  5. 이제 grub을 드라이브의 MBR에 설치하십시오 ( /dev/sdb실제로 설치하려는 드라이브 로 변경 하십시오)

    grub-install /dev/sdb
    grub-install --recheck /dev/sdb
    
  6. chroot실행중인 시스템이 정상으로 돌아 오도록 종료하고 모든 것을 마운트 해제하십시오.

    exit
    sudo umount /mnt/foo/dev/pts /mnt/foo/dev /mnt/foo/proc /mnt/foo/sys /mnt/foo
    
  7. 드라이브에서 부팅 해보십시오. 이번에는 grub 메뉴가 있어야합니다.


이전 제안에서 nooblab.com의 지침에 따라 정확하게 수행했습니다. 그리고 효과가있었습니다! 데스크탑에서는 새로 생성 된 grub에서 민트로 부팅 할 수 있습니다. 불행히도, 이로 인해 넷북 문제가 해결되지 않았으므로 후속 게시물을 살펴보십시오.
the.keV.nc

@ the.keV.nc 내 이전 제안은 무엇을 의미합니까? unetbootin 이외의 것을 사용 했습니까? 문제를 해결하기 위해 내 답변의 절차를 따른 경우 다른 사람이 올바른 해결 책임을 알 수 있도록 승인 된 것으로 표시하십시오.
terdon

그럽 설치 여부를 물었다는 뜻입니다. 그렇지 않은 것 같으므로 여기 에 나온 지침에 따라 민트의 라이브 부팅에서 다시 설치했습니다. 작동했고 HDD를 데스크탑에 연결하여 Mint 16에 액세스 할 수 있습니다. 그러나 여전히 내 넷북에서는 작동하지 않으므로 후속 조치입니다. (및 승인 표시에 대해 언급 해 주셔서 감사합니다.)
the.keV.nc

로부터 update-grub사람 페이지 - update-grub is a stub for running grub-mkconfig -o /boot/grub/grub.cfg. 그래서 더 할 필요가 없다 grub-mkconfig하고 update-grub. 나는 grub-install올바른 시간 이라고 생각 합니다 (차이가있는 경우). 기본적으로 4 단계가 필요하지 않습니다 (그러나 출력이 5 단계로 변경 될 수는 있지만 동일 할 것입니다).
Graeme

1
@Graeme 실제로, 나는 update-grub완전히 제거 했습니다. 데비안 일이며, 디버깅에 grub-mkconfig사용한 후에 실행되는 쉘 스크립트 일뿐 set -x입니다. 요점 grub-mkconfig은 충분하다.
terdon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.