grub은 ext4가 iso9660 파일 시스템이라고 생각합니다

grub은 ext4가 iso9660 파일 시스템이라고 생각합니다

이 문제를 해결하고 grub을 설치하려면 어떻게 해야 합니까?

GParted를 사용할 때 /dev/sdb파티션이 있고 ext4인 것을 볼 수 있지만 grub을 설치하려고 하면 다음과 같은 결과가 나타납니다.

#grub-install /dev/sdb
/usr/sbin/grub-setup: 오류: hd0에 DOS 스타일 부팅을 위한 공간을 예약하는 것으로 알려지지 않은 iso9660 파일 시스템이 포함된 것 같습니다. GRUB를 설치하면 grub-setup으로 중요한 데이터를 덮어쓰는 경우 파일 시스템이 손상될 수 있습니다( --skip-fs-probe는 이 검사를 비활성화합니다. 사용에 따른 책임은 사용자에게 있습니다).

또한 마운트 지점과 2개의 디스크 시스템도 보입니다. 하나는 데비안 설치 파일인 것 같고, 다른 하나는 설치 디스크인 것 같습니다. 파일 시스템에서 설치 디스크가 어디에 있는지 알 수 없는 것 같습니다. 분명히 파티션은 하나뿐입니다.

저는 VMware를 이용하여 VMware에서 디스크 대신 USB에 설치하는 방식으로 설치했습니다. USB가 하나 더 있어서 이 문제는 없지만 노트북을 사용하고 있습니다.

답변1

"수술"에는 wifs 명령을 사용하는 것이 더 좋습니다:

sudo wipefs  /dev/sdb

다음과 같은 내용이 표시됩니다.

  DEVICE OFFSET TYPE    UUID                   LABEL
  sdb    0x8001 iso9660 2016-07-20-12-17-32-00 Lubuntu 16.04.1 LTS i386
  sdb    0x1fe  dos

따라서 sdb 파티션에는 두 운영 체제 모두에 대해 2개의 서명이 있습니다.

이 문제를 해결하려면 다음 명령을 실행하십시오.

sudo wipefs -o 0x8001 /dev/sdb

(GPT를 건드리지 않고 ISO 서명의 5바이트에 외과적으로 0을 씁니다.)

완료되면 "partprobe"를 실행하거나 시스템을 재부팅하여 운영 체제에 대한 파티션 정보를 업데이트합니다.

원천:https://bugzilla.gnome.org/show_bug.cgi?id=789898

답변2

죄송합니다. 현재로서는 다른 답변에 대해 언급할 수 없습니다.

johnshen64가 제안한 것을 절대로 수행하지 마십시오.

dd if=/dev/zero of=/dev/sdb bs=512 count=numSectorsBeforeSdb1

이렇게 하면 파티션 테이블이 완전히 파괴됩니다!

디스크(HDD 및 USB)의 첫 번째 섹터(512바이트)에는 디스크의 파티션 테이블이 포함됩니다.

덮어쓰면 디스크 파티션 구조가 파괴됩니다.

johnshen64의 아이디어는 좋지만 첫 번째 섹터를 건너뛰어야 합니다.

따라서 다음을 사용하십시오.

sudo dd if=/dev/zero of=/dev/sdb bs=512 seek=1 count=2047

검색 매개변수는 처음 512바이트(파티션 테이블)가 무시되고 그 이후에 2047개 섹터가 기록됨을 나타냅니다.

답변3

귀하의 USB 디스크에는 아마도 일종의 ISO 서명이 있거나 적어도 그런 것처럼 보입니다. fdisk -l /dev/sdb를 사용하고(그리고 확인을 위해 별도로 /dev/sdb를 인쇄) /dev/sdb1의 시작을 찾습니다. 그런 다음 dd if=/dev/zero of=/dev/sdb bs=512 count=numSectorsBeforeSdb1을 사용하여 이러한 섹터를 지웁니다. 손실될 수 없는 중요한 데이터가 있는 경우, 항상 그렇듯이 해당 작업을 수행할 때 백업을 만드십시오.

답변4

grub-setup을 수동으로 실행해보세요:

grub-setup --force --skip-fs-probe /deb/sdb

실수로 USB 플래시 드라이브 대신 내 디스크에 CD ISO 이미지를 썼기 때문에 이 문제가 발생했습니다. grub-setup에서 몇 가지 경고가 표시되었지만 결국 해당 디스크로 부팅할 수 있었습니다.

관련 정보