Không thể cài đặt bổ sung khách: loại hệ thống tệp không xác định 'iso9660'


27

Chạy Ubuntu 14.04 trên Oracle VirtualBox 4.3.24 và hoàn toàn bị mắc kẹt với việc bổ sung khách. Tôi đã dành khá nhiều thời gian để tìm kiếm một giải pháp trực tuyến, nhưng không có gì giúp được ...

nhập mô tả hình ảnh ở đây

Như được đề xuất bên dưới, tôi đã thử gắn thủ công và cũng tải xuống ISO từ web (phiên bản phù hợp với VirtualBox). Lỗi tương tự:

nhập mô tả hình ảnh ở đây

CHỈNH SỬA:

Bây giờ một số thư mục đã trở thành "chỉ đọc", điều này gây ra rắc rối lớn .. Ngay cả việc cài đặt hình ảnh Ubuntu 14.04 mới cũng không giúp được gì ... Vì vậy, việc cài đặt lại VirtualBox ...

Câu trả lời:


45

Tôi đã có thể giải quyết vấn đề gắn kết bằng cách cài đặt lại hình ảnh linux:

sudo apt-get install --reinstall linux-image-$(uname -r)

BTW, tất cả bắt đầu với việc nâng cấp VirtualBox. Bảng tạm hai chiều ngừng hoạt động nên tôi đã cố gắng xác nhận lại Bổ sung khách ISO. Điều này gây ra những thứ ở trên. Bây giờ, Bổ sung khách được gắn lại, nhưng clipboard sẽ không hoạt động ...


5
Tôi đã có những vấn đề tương tự ngày hôm nay (clipboard bị hỏng, không có hình ảnh CD sẽ gắn kết). Giải pháp của bạn cộng với cài đặt lại Khách bổ sung giải quyết cả hai.
Mark Smith

1
Làm việc cho phiên bản 5.x cũng được
Karl Morrison

14

TL; DR này có thể được khắc phục nhanh chóng bằng cách khởi động lại . Sau đó, CD-ROM sẽ hoạt động và Bổ sung khách sẽ có thể cài đặt:

 sudo reboot

Trình tự "tốt nhất" để cập nhật kernel trên VirtualBox với Bổ sung là:

 apt-get update
 apt-get upgrade              (or apt-get dist-upgrade)
 reboot                       

 (re)install VirtualBox Additions on the new kernel that is now running
 apt-get autoremove

(Hạt nhân cũ tiếp theo mới nhất có thể không được tự động xóa vì lý do bảo mật, để cho phép bạn "quay lại").

Làm sao chuyện này lại xảy ra? (câu trả lời dài trước đó)

Chính xác thì loại vấn đề này sẽ phát sinh nếu bạn:

  • nâng cấp kernel (giả sử từ 0,66 lên 0,67)
  • chạy apt-get autoremovevà bằng cách nào đó loại bỏ kernel đang chạy hoặc xóa thủ công kernel "cũ", do đó xóa tất cả các mô-đun khỏi /lib/modules/kernel.66
  • không khởi động lại, do đó giữ cho hạt nhân .66 "cũ" chạy. Các mô-đun được tải vẫn còn trong bộ nhớ và mọi thứ đều hoạt động, nhưng không có mô-đun mới nào có thể được tải do .66 mô-đun đã bị xóa.
  • cố gắng làm bất cứ điều gì yêu cầu tải một mô-đun chưa được tải

Và việc cài đặt VirtualBox ISO có thể yêu cầu chính xác điều đó - tải mô-đun hỗ trợ ISO9660.

Mô-đun được yêu cầu bây giờ không còn có thể được tự động tải nữa, vì kernel đang chạy (.66) không tìm thấy gì trong /lib/modules/kernel.66. Mô-đun tồn tại , nhưng nó nằm trong /lib/modules/kernel.67, trong đó hạt nhân .66 hiện tại không biết gì về (và không nên tải mô-đun không khớp).

Tất nhiên, cài đặt lại kernel uname'd sẽ cài đặt lại các mô-đun kernel đang chạy, do đó làm cho ../.66/.../isofs.ko có sẵn một lần nữa và làm cho việc khởi động lại không cần thiết. Đây là một hạ cấp của kernel đã cài đặt và vấn đề cập nhật sẽ vẫn còn (xem bên dưới).

Đó là, khi bạn chạy CD bổ sung, nó sẽ cài đặt cho kernel .66 đang chạy chứ không phải kernel .67 được cập nhật (vẫn không chạy).

Nếu bạn ở trong tình huống như vậy, bạn chắc chắn cũng có thể khắc phục bằng cách khởi động lại (kernel mới chạy .67 sẽ tìm thấy các mô-đun của nó) và có thể bằng cách tải mô-đun thuộc về kernel mới ( isofskhá ổn định), trừ khi bạn trải qua một nâng cấp kernel quan trọng vẫn sẽ tương thích ( điều này vẫn không được khuyến khích! ):

# mount /dev/cdrom /mnt
mount: unknown filesystem type 'iso9660'

Đây là lỗi gốc mà bạn gặp phải ("loại hệ thống tập tin không xác định").

# uname -a
Linux virtual 3.13.0-66-generic ...

Vì vậy, chúng tôi kiểm tra phiên bản nào của các mô-đun được cài đặt. Nó phải là .66:

# ls /lib/modules
3.13.0-67-generic

... nhưng chỉ có một thư mục và nó .67 (thư mục .66 có thể ở đó, nhưng trống rỗng, trong trường hợp du -sh /lib/modules/*này sẽ cho biết các thư mục khác nhau chiếm bao nhiêu dung lượng, cho phép phân biệt giữa các thư mục trống và đầy đủ).

Cài đặt lại hình ảnh kernel cũ mà không có grub sẽ không khắc phục được vấn đề thực sự

Bạn cài đặt lại kernel .66 với các mô-đun và tiêu đề của nó. Bây giờ bạn có cả hai nhân, với grubthiết lập để tải .67 mới hơn.

Có thể gắn ISO CD-ROM (vì hiện tại đã có mô-đun) và các mô-đun VBox sẽ biên dịch (vì các tiêu đề đã được cài đặt).

Nó sẽ biên dịch các mô-đun cho kernel .66 đang chạy và chúng sẽ hoạt động ... trong một thời gian.

Trong lần khởi động lại đầu tiên, bạn sẽ thấy mình có kernel .67 không có bổ sung VirtualBox nào cả.

Cài đặt lại hình ảnh kernel cũ bằng reubub và khởi động lại cũng sẽ không khắc phục được vấn đề thực sự

Như trên, bạn khởi động lại và tìm thấy chính mình với một kernel bị hạ cấp. Rất sớm thôi, Ubuntu sẽ cố gắng nâng cấp nó và bạn sẽ quay lại nơi bạn đã bắt đầu (xem bên dưới: "hạ cấp kernel").

Vá trong mô-đun ISO cũng sẽ không khắc phục được sự cố thực sự

Có thể chúng ta có thể buộc tải mô-đun ISO9660 như nhau, vì không có công việc nào được thực hiện giữa các hạt 66 và 67 và về cơ bản nhị phân không thay đổi, vì vậy chúng tôi thử:

# insmod /lib/modules/3.13.0-67-generic/kernel/fs/isofs/isofs.ko

Không có lỗi. Nó đã làm việc. Mô-đun được nạp kernel .66 từ kernel .67. Hãy thử lại để gắn CD-ROM:

# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only

Điều này vẫn không có ích, vì CD đang được cài đặt là VirtualBox Additions, yêu cầu các tiêu đề kernel đang chạy phải được cài đặt. Nếu các mô-đun hạt nhân đang chạy không còn ở đó, rất có thể các tiêu đề hạt nhân cũng không.

Ngoài ra, các mô-đun Virtualbox mới được biên dịch sẽ không có nơi nào để đi, vì thư mục mô-đun .66 đã được xóa.

Nhưng giả sử bạn đã khắc phục tất cả những điều đó: về cơ bản bạn đã thực hiện hạ cấp kernel (và một phần) đắt tiền và các bổ sung sẽ bị mất ở lần nâng cấp tiếp theo cùng với phần còn lại của kernel .66, chính xác như trong trường hợp trên.

Việc hạ cấp kernel sẽ hoạt động ... trong một thời gian

Nếu chúng ta loại bỏ kernel .67 và cài đặt lại kernel .66 với các mô-đun thay thế, mọi thứ sẽ trở nên tồi tệ trong một thời gian. Không cần khởi động lại, như trong giải pháp "bắt buộc mô-đun ISO" ở trên.

Và khởi động lại sẽ không mất bất cứ thứ gì, vì không có kernel bị thách thức bổ sung nào được cài đặt.

Nhưng theo cách này, kernel vẫn sẽ nằm trong danh sách "được nâng cấp" và vấn đề tương tự này chắc chắn sẽ phát sinh sớm hay muộn.

Cấp, bây giờ bạn có thể có nó phát sinh trong một số thời điểm thích hợp hơn của sự lựa chọn của bạn, có thể có giá trị khá nhiều.

Chỉ cần khởi động lại!

Khởi động lại, kernel .67 gần đây sẽ được kích hoạt và tất cả các mô-đun và tiêu đề của nó đều ở đó.

Vì vậy, sau khi khởi động lại, Guest Additions sẽ hoạt động và bản nâng cấp sẽ "lấy".


1
Câu trả lời này nên được đánh giá cao hơn nhiều vì đó là câu trả lời đúng. Để hoàn thiện hơn, bạn đã giải thích chính xác vấn đề tiềm ẩn và cũng là cách khắc phục 2 bước cần thiết để đi đến giải pháp.
zero2cx

1
@Iserni Tôi không có đủ danh tiếng để chỉnh sửa câu trả lời của bạn ở đầu trang. Ở đó, chúng ta nên đề cập đến bước # 2, tức là cài đặt lại ISO bổ sung khách. Mọi người có thể thiếu bước cần thiết đó bằng cách không đọc đến cuối câu trả lời.
zero2cx

7

Theo những người khác trả lời điều này thường có thể được sửa chữa bằng cách khởi động lại.

Bằng cách nào đó mô-đun "iso9660" không được tải. depmodquét tất cả các mô-đun và tạo phụ thuộc mô-đun.

sudo depmod -a
sudo mount /dev/sr0 /mnt
ls -l /mnt

Điều này sẽ khắc phục vấn đề.


Nó làm việc cho tôi. "sudo depmod -a" là đủ. Cảm ơn bạn.
mombip

2

Trong trường hợp của tôi, cách giải quyết tiếp theo đã giúp:

trong Ubuntu của khách

sudo apt-get install virtualbox-guest-additions-iso

Tôi nghĩ rằng một số phụ thuộc đã được cài đặt giải quyết vấn đề


1

Tôi đã giải quyết điều này (trên Ubuntu 16.04) bằng cách nâng cấp các gói và khởi động lại:

sudo apt-get update
sudo apt-get upgrade
sudo reboot

0

Hãy thử tự gắn nó:

  • Mở một thiết bị đầu cuối.
  • Nhập các lệnh sau:

    sudo mount /dev/sr0 /mnt
    ls -l /mnt
    
  • Sau đó, nếu nội dung CD được hiển thị, hãy mở / mnt trong Nautilus (còn gọi là Trình quản lý tệp) và đặt nội dung bổ sung cho khách.

Nếu các bước đó không hoạt động, hãy thử điều này:

  • Tải xuống khách bổ sung ISO từ VM (thông qua trang web hộp ảo).
  • Nhấp chuột phải vào nó -> Mở bằng ... -> Trình xem ảnh đĩa.
  • Mở đĩa vừa được gắn.

Xin chào Helio, tôi đã thử cả hai đều không hoạt động. Lỗi tương tự. Vui lòng xem câu trả lời đã được chỉnh sửa
Oleg Shirokikh

Lý do tại sao điều này không hoạt động là vì quy trình này sẽ khắc phục hầu hết các vấn đề phát sinh từ Linux không tìm thấy thiết bị . Linux ở đây đang tìm thiết bị, nó thậm chí còn nhận ra hệ thống tập tin ("iso9660"), vấn đề là nó không biết cách đọc nó.
LSerni
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.