btrfs 파일 시스템에 설치 한 후“Sparse file not allowed”메시지


25

스왑 파티션을 만들지 않고 /btrfs 와 함께 Ubuntu를 설치했습니다 . # 이제 부팅 할 때마다 "스파 스 파일을 사용할 수 없습니다"라는 메시지가 나타납니다. 이 메시지는 스플래시 화면 앞에 나타납니다. 이 경고를 없애는 방법이 있습니까?


내 시스템에서 아무 키나 쳐도 아무런 반응이 없습니다.
Michael

1
2016에서 솔루션을 설정하는 것입니다 GRUB_SAVEDEFAULT=false/etc/default/grub& 실행update-grub
스튜어트 Cardall

답변:


33

약간의 rummaging 후 OK 나는 적어도 일시적 으로이 문제를 제거하는 방법을 찾았습니다. 단순히 간단하지만 btrfs로 시스템을 설정하지 않았 으므로이 수정 사항을 확인할 수 없습니다.

주석을 달거나이 행을 제거하십시오.

if [ -n ${have_grubenv} ]; then save_env recordfail; fi

또는

if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env \
recordfail; fi; fi

이 파일에서

/etc/grub.d/00_header

그런 다음 실행

update-grub

/boot/grub/grub.cfg직접 편집하지 않는 이유 는이 경우 grub이 업데이트 될 때마다 덮어 쓰기가되기 때문입니다.이 경우 grub 공통 패키지가 업데이트 된 경우 수정 사항을 "수행"해야합니다.

이것은 자신에 버그 를 추가하려는 경우 런치 패드의 버그 # 736743

버그 보고서에서 Colin Watson 인용

이것은 실제로 오해의 소지가있는 오류 메시지입니다. GRUB의 btrfs 구현은 블록리스트를 호출 코드로 리턴하기위한 파일 읽기 후크 인터페이스를 구현하지 않습니다. 나는 이것에 대해 grub-devel에 게시했으며 업스트림 관리자는 다중 장치 문제 외에도 GRUB에서 btrfs에 쓰는 것이 근본적으로 위험하다고 지적했습니다.

주어진 블록을 사용하는 모든 트리는 체크섬을 포함하는 여러 스냅 샷에서 동일한 블록을 사용할 수 있습니다.

그러나 btrfs는 부팅 로더를 시작할 때 공간을 확보합니다. 이 공간은 GRUB이 자체적으로 임베드하는 것 이상이므로 환경 블록에 1KB를 사용할 수 있습니다.

어쨌든 이것은 하위 볼륨을 사용하여 발생하는 새로운 문제가 아니며 부팅을 방해하지도 않습니다 ( "계속하려면 아무 키나 누르십시오"라는 메시지가 표시되지만 무시하면 어쨌든 부팅됩니다). 위시리스트로 다운 그레이드

이것이 도움이되기를 바랍니다.


1
이 오류가 시작 되는 이유에 대한 설명을 찾을 수 있습니까 ? 감사. :)
jrg

구성 파일에서 줄은 다음과 같습니다.if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi
FUZxxl

1
나는 논평 할 것이다. 부팅에 실패하면 라이브 디스크를 사용하여 회선의 주석을 해제 할 수 있습니다
Allan

괜찮아. 나는 이것을 시도 할 것입니다.
FUZxxl

2
좋아요, 작동합니다!
FUZxxl

1

Raring Ringtail의 개발 지점을 운영하고 있습니다.
스파 스 파일에서 허용되지 않는 메시지와 동일한 문제가 발생했습니다. GRUB이 전혀 표시되지 않고 우분투로 바로 부팅됩니다.

파티션, 파일, 부트 로더 및 기타 자료를 복구하고 복구하는 방법에 대한 기사가 실린 Linux Magazine (LXF)을 읽고있었습니다.

기사 작성자 중 한 명이 사용할 간단한 도구 인 Boot-Repair 를 언급했습니다 .
이 도구는 나를 위해 속임수를 썼으며 내 의견으로는 우분투의 저장소에서 눈에 띄는 장소를 가져야한다고 생각합니다.

시스템에 Boot-Repair를 추가하십시오 :

  1. 터미널 창을 열고 다음을 복사 / 붙여 넣기 / 입력하십시오.

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  2. Boot-Repair를 설치하고 시작하려면 다음을 복사 / 붙여 넣기 / 입력하십시오.

    sudo apt-get install -y boot-repair && boot-repair
    
  3. Boot-Repair의 기본 GUI가 표시됩니다.

    Click on a button called 'Recommended repair'.
    

    도구가 '마법'이되게하십시오.

  4. 마법 주문이 끝나면

    create a little note of the url visible. 
    
  5. 시스템을 재부팅하고 복구 된 운영 체제에 액세스 할 수 있는지 확인하십시오.

  6. 성공하지 못하면 수리가 끝날 때 URL이 표시되어 도움을 요청합니다.


나는 그것이 그럽 자체의 버그이기 때문에 도움이되지 않는다고 생각합니다.
FUZxxl

왜 그렇게 생각하십니까? 13.04의 여러 가상 설치를 수행했는데 모두 동일한 문제가있었습니다. grub.cfg를 편집했지만 결과가 없습니다. 그것은 나를 위해 '스파 스 파일이 허용되지 않습니다'라는 메시지를 전혀 해결하지 못했습니다. GRUB도 보이지 않았습니다. 오늘 초에 게시물에서 제공 한 솔루션을 시도한 후에도 매력처럼 작동했지만 여전히 유효합니다.
C Schilder

슬프게도 하지 14.04 트러스티 AMD64에서 작업
loser114491
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.