Tin nhắn Tập tin thưa thớt không được phép dùng sau khi cài đặt trên hệ thống tập tin btrfs


25

Tôi đã cài đặt Ubuntu mà không tạo phân vùng trao đổi và /trên btrfs. # Bây giờ tôi nhận được thông báo "Tệp thưa thớt không được phép" trên mỗi lần khởi động. Thông báo này xuất hiện trước màn hình giật gân. Có cách nào để giết cảnh báo này?


Trên hệ thống của tôi, nhấn bất kỳ phím nào cũng không có gì, nó bị kẹt!
Michael

1
các giải pháp vào năm 2016 là bộ GRUB_SAVEDEFAULT=falsetrong /etc/default/grub& chạyupdate-grub
Stuart Cardall

Câu trả lời:


33

OK sau khi lục lọi một chút, tôi thấy cách giải quyết vấn đề này ít nhất là tạm thời khá đơn giản tuy nhiên tôi không thiết lập hệ thống của mình với btrfs nên tôi không thể xác nhận cách khắc phục này.

hoặc bình luận hoặc loại bỏ dòng này:

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

hoặc là

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

trong tập tin này

/etc/grub.d/00_header

sau đó chạy

update-grub

Lý do không chỉnh sửa /boot/grub/grub.cfgtrực tiếp là nó sẽ bị ghi đè mỗi khi grub được cập nhật trong trường hợp này, bạn sẽ chỉ phải "làm lại" bản sửa lỗi nếu các gói chung của grub được cập nhật.

Đây là lỗi trên launchpad nếu bạn muốn thêm lỗi # 736743

Trích dẫn Colin Watson từ báo cáo lỗi

Đây thực sự là một thông báo lỗi gây hiểu lầm: những gì đang xảy ra là việc triển khai btrfs của GRUB không triển khai giao diện hook đọc tệp để trả về danh sách chặn cho mã gọi. Tôi đã đăng lên grub-devel về điều này và người bảo trì ngược dòng đã chỉ ra rằng, ngay cả ngoài các vấn đề đa thiết bị, việc viết thư cho btrfs từ GRUB về cơ bản là rất rủi ro vì:

cùng một khối có thể được sử dụng bởi nhiều ảnh chụp nhanh, mỗi cây sử dụng một khối đã cho sẽ chứa tổng kiểm tra của nó, v.v.

Tuy nhiên, btrfs dành không gian khi bắt đầu cho bộ tải khởi động. Không gian này nhiều hơn GRUB cần để tự nhúng và vì vậy chúng tôi có thể sử dụng 1KB của nó cho một khối môi trường.

Trong mọi trường hợp, đây không phải là vấn đề mới phát sinh từ việc sử dụng subvolume, cũng không ngăn chặn khả năng khởi động (bạn nhận được lời nhắc "Nhấn phím bất kỳ để tiếp tục", nhưng nếu bạn bỏ qua thì nó sẽ khởi động). Hạ cấp xuống danh sách mong muốn.

Hi vọng điêu nay co ich


1
Bạn có thể tìm thấy một lời giải thích về lý do tại sao nó bắt đầu phát sinh lỗi này không? Cảm ơn. :)
JRG

Trong tệp cấu hình của tôi, dòng trông như thế này:if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi
FUZxxl

1
Tôi sẽ bình luận ra. Nếu nó không khởi động được, bạn vẫn có thể hủy ghi chú bằng cách sử dụng đĩa trực tiếp
Allan

đuợc. Tôi sẽ thử nó.
FUZxxl

2
Đẹp, nó hoạt động!
FUZxxl

1

Tôi đang điều hành chi nhánh phát triển của Rared Ringtail.
Tôi gặp vấn đề tương tự về một tập tin thưa thớt không cho phép tin nhắn. GRUB hoàn toàn không hiển thị và khởi động thẳng vào Ubuntu.

Tôi đang đọc Tạp chí Linux (LXF), trong đó có một vài bài viết về việc khôi phục và sửa chữa các phân vùng, tệp, bộ tải khởi động và các thứ khác.

Một trong những người viết bài đã đề cập đến một công cụ đơn giản được sử dụng ... Boot-Repair .
Công cụ này đã tạo ra mánh khóe cho tôi và theo ý kiến ​​của tôi sẽ có được một vị trí nổi bật trong kho lưu trữ của Ubuntu.

Thêm Boot-Repair vào hệ thống của bạn:

  1. Mở một cửa sổ đầu cuối và sao chép / dán / gõ như sau:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  2. Sao chép / dán / nhập nội dung sau để cài đặt và bắt đầu Boot-Repair:

    sudo apt-get install -y boot-repair && boot-repair
    
  3. GUI chính của Boot-Repair hiện có thể nhìn thấy.

    Click on a button called 'Recommended repair'.
    

    Hãy để công cụ làm điều đó là 'ma thuật'.

  4. Khi phép thuật kết thúc,

    create a little note of the url visible. 
    
  5. Khởi động lại hệ thống và kiểm tra xem bạn có thể truy cập các hệ điều hành đã phục hồi của mình không.

  6. Khi không thành công, hãy sử dụng url hiển thị khi kết thúc sửa chữa để tìm kiếm trợ giúp.


Tôi không nghĩ rằng điều đó có ích vì đây là một lỗi trong chính grub.
FUZxxl

Tại sao bạn nghĩ rằng? Tôi đã thực hiện một số cài đặt ảo 13.04, tất cả đều có cùng một vấn đề. Đã chỉnh sửa grub.cfg, không có kết quả. Điều đó không giải quyết được tin nhắn 'tập tin thưa thớt' cho tôi. GRUB thậm chí không nhìn thấy được. Sau khi tôi thử giải pháp mà tôi đã cung cấp trong bài viết của mình vào đầu ngày hôm nay, nó đã hoạt động như một cơ duyên và vẫn vậy.
C Schilder

Đáng buồn là không hoạt động trong 14.04 Trusty amd64
kẻ thua cuộc 114491
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.