Là một tệp hình ảnh ISO là một hệ thống tập tin của riêng mình?


45

Tôi đang cố gắng hiểu mối quan hệ của một xxx.isotệp với các khía cạnh khác của thiết bị khối, ví dụ như phân vùng và hệ thống tệp.

Mọi người thường mô tả việc truy cập hoặc tạo một ứng .isodụng có thể sử dụng là "gắn ISO".

Vì vậy, để đặt câu hỏi theo cách khác: Nếu tôi hoặc một phần mềm nào đó muốn "gắn" xxx.isotệp vào thiết bị USB, thì cần phải có phân vùng có sẵn với hệ thống tệp (ví dụ: FAT x hoặc ext X ) hoặc là .isotệp - một lần ở trạng thái "được gắn kết" - cấu trúc cấp thấp hơn thực hiện vai trò tương tự / tương tự mà một hệ thống tệp (hoặc thậm chí là phân vùng) thực hiện?


15
Chỉ là một nhận xét: Thuật ngữ "tệp ISO" trong hầu hết các trường hợp có nghĩa là một tệp chứa hệ thống tệp trong tiêu chuẩn ISO 9660 cho phương tiện đĩa quang. ddVí dụ, bạn có thể lấy tệp ISO bằng cách sao chép đĩa CD hoặc DVD-ROM .
Dubu

4
Gắn trên USB? Ý bạn là làm cho nội dung ISO xuất hiện như một phần của cây VFS dưới điểm gắn của thanh USB? Ý bạn là như thế mount /dev/my_usb_stick /media/usb_stick && mount -o loop,ro foo.iso /media/usb_stick/some_dirnào? ( mountLệnh của Linux hỗ trợ looptùy chọn gắn kết để thiết lập thiết bị chặn vòng lặp, vì muốn gắn hình ảnh FS như .iso là phổ biến.)
Peter Cordes

Bạn đang sử dụng tệp dưới dạng thiết bị khối khi bạn lắp ISO.

Câu trả lời:


64

Một tệp ISO không phải là một hệ thống tệp. Nó chứa một hệ thống tập tin. Từ quan điểm sử dụng, nó hoạt động giống như một đĩa cứng hoặc thiết bị USB hoặc DVD - bạn cần phải có một điểm gắn kết, tức là một vị trí trong hệ thống tệp của bạn, nơi bạn có thể gắn nó để lấy nội dung.


1
cảm ơn, vậy thì iso - một lần ở trạng thái gắn kết - sẽ tương tự như một thiết bị khối hay partiton trong trường hợp đó? - hoặc không thể vẽ một sự tương tự trực tiếp vì một iso là một điều hoàn toàn khác một lần nữa?
the_velour_fog

@the_velour_fog Đó là một sự tương tự rất tốt!
Jenny D

19
Lý do bạn không thể ghi vào nó không phải vì nó là một tệp thông thường được gắn thay vì một tệp đặc biệt của thiết bị, mà vì trình điều khiển hệ thống tệp không hỗ trợ nó. Nếu hình ảnh chứa một hệ thống tập tin khác như FAT32 hoặc EXT2 thay vì ISO9660, bạn sẽ có thể đọc-ghi.
rexkogitans

4
@rexkogitans: ... hoặc UDF , còn gọi là ISO 13346. Đây là định dạng tệp được sử dụng bởi CD-R có thể ghi lại.
MSalters

1
@hobbs: Thanh USB, ổ cứng, v.v. cũng không cần phải có phân vùng. Các thiết bị khối không có phân vùng đôi khi được gọi là "SuperFloppy". Không cần phân vùng một cái gì đó khi bạn chỉ đặt một phân vùng trên đó. Chỉ là một số hệ điều hành chỉ đơn giản mong đợi một bảng phân vùng ở đó và không nhận ra một hệ thống tệp trực tiếp trên thiết bị khối. Chẳng hạn, các hệ điều hành nhúng trong máy ảnh kỹ thuật số và ngắm bắn thường từ chối gắn thẻ SD ở định dạng SuperFloppy.
Jörg W Mittag

42

Có ba khái niệm riêng biệt ở đây:

  • Một thiết bị khối , là một thiết bị vật lý hoặc ảo đại diện cho một loạt các khối dữ liệu có kích thước bằng nhau. Ổ cứng là thiết bị khối. CD dữ liệu cũng vậy.
  • Một hệ thống tệp , xác định cách lưu trữ dữ liệu trong một thiết bị khối đại diện cho một loạt các tệp và thư mục và thông tin hệ thống tệp khác. ext3 là một hệ thống tập tin, như ISO9660.
  • Một file ảnh là một bản sao của dữ liệu trên một thiết bị khối, dưới hình thức của một tập tin (trên hệ thống tập tin khác). Các tập tin hình ảnh có thể có bất kỳ phần mở rộng; .imglà phổ biến.

Một .isotệp thường là một tệp hình ảnh của một thiết bị khối chứa hệ thống tệp ISO9660 . Nó chứa một đại diện chính xác của dữ liệu được lưu trữ trên đĩa CD. Tương tự, bạn có thể có một .imgtệp (gọi nó .ext3nếu bạn thích) đó là tệp hình ảnh của một thiết bị khối chứa hệ thống tệp ext3 . Đây là một cách phổ biến để phân phối USB có thể khởi động hoặc hình ảnh đĩa mềm. Tên này là tùy ý, .isochỉ là những gì chúng ta gọi là tệp hình ảnh có chứa hệ thống tệp ISO9660 (hoặc, đôi khi, hệ thống tệp UDF, hiện đại hơn).

Bạn không thể trực tiếp gắn các tệp hình ảnh, vì chúng không phải là thiết bị chặn, mà chỉ là một bản sao của dữ liệu trong một thiết bị khối. Tuy nhiên, Linux và các HĐH khác có một tính năng gọi là thiết bị lặp cho phép truy cập tệp hình ảnh dưới dạng thiết bị khối. Để gắn tệp ISO, trước tiên bạn tạo một thiết bị lặp đại diện cho một thiết bị khối ảo có cùng nội dung với tệp ISO. Sau đó, bạn có thể gắn nó giống như bạn làm một đĩa CD vật lý, hoặc giống như bạn làm một ổ USB chứa hệ thống tập tin ext3 hoặc bất cứ thứ gì khác. Các mountlệnh có thể làm điều này cho bạn tự động, nhưng dưới mui xe họ đang bước riêng biệt.

Phân vùng là một cách chia nhỏ một thiết bị khối thành nhiều thiết bị khối logic nhỏ hơn. Phân vùng là tùy chọn. Một đĩa CD tương tự như một ổ USB không liên kết hoặc một đĩa mềm về mặt này, một trong đó hệ thống tập tin được lưu trữ trên toàn bộ thiết bị không có bảng phân vùng. Do đó, các tệp ISO không chứa bảng phân vùng. Dù vậy, không có gì ngăn bạn tạo ra một hệ thống tập tin ISO9660 trên phân vùng ổ cứng. Khi bạn làm có phân vùng, một tập tin hình ảnh có thể của một phân vùng duy nhất hoặc các thiết bị vật lý toàn bộ bao gồm các bảng phân vùng, nhưng CD không phân chia, vì vậy sự khác biệt là không thích hợp cho hình ảnh ISO.

Bạn không phải gắn thiết bị - hoặc tệp hình ảnh - để truy cập các tệp có trong đó. Một số ứng dụng và thư viện có khả năng truy cập dữ liệu trực tiếp mà không liên quan đến hệ điều hành. Họ chỉ đơn giản hiểu trực tiếp hệ thống tập tin và có mã bắt chước những gì HĐH thực hiện khi truy cập các tệp trong hệ thống tệp. Đây là lý do tại sao các công cụ tồn tại có thể hiển thị cho bạn nội dung của tệp ISO mà không thực sự gắn nó qua HĐH. Gắn kết là một khái niệm hệ điều hành, nhưng nó không phải là cách duy nhất để truy cập dữ liệu trên một thiết bị khối. Một số người có thể xem xét hành động đơn thuần của việc thực hiện "gắn kết" này theo một cách nào đó.

Những gì bạn gắn thiết bị (hoặc tệp ISO thông qua thiết bị loopback) lên là không liên quan. Đó chỉ là nơi trong hệ thống phân cấp đường dẫn mà bạn yêu cầu HĐH hiển thị nội dung của thiết bị. Trên Linux, bạn thường chọn một thư mục trên một số hệ thống tệp đã được gắn. Nhưng không có gì ngăn bạn khỏi, giả sử, khởi động từ đĩa CD và yêu cầu kernel gắn nó làm hệ thống tập tin gốc. Tất nhiên, vì một tệp ISO là, một tệp, có lẽ nó tồn tại trên một số hệ thống tệp để bắt đầu, mà bạn cần phải gắn ở đâu đó để có thể truy cập ISO.


11

Không, tệp hình ảnh ISO không phải là một hệ thống tệp theo đúng nghĩa của nó. Giống như một phân vùng có thể chứa một hệ thống tệp, nhưng không phải là một hệ thống tệp, tệp hình ảnh ISO có chứa một hệ thống tệp, nhưng nó không phải là một hệ thống tệp.

Nhưng bạn cần một hệ thống tập tin cho hai thứ:

  • một nơi để lưu trữ tệp .iso (giả sử nếu nó không xuất hiện dưới dạng đĩa bạc sáng bóng)
  • một thư mục để gắn kết, ví dụ /mnt/isotmp

Sau đó, nếu một đường dẫn phân giải thành một cái gì đó bên dưới /mnt/isotmp, mã cho hệ thống tệp hình ảnh ISO sẽ thực hiện việc phân giải, mở, v.v.


thật tuyệt, cách sắp xếp mà bạn mô tả tương tự như cách đĩa cứng được gắn, tức là có block device/partition/filesystem/gắn vào /some/directory. Vì vậy, tôi có đúng không khi giả sử iso về cơ bản thực hiện chức năng của một hệ thống tập tin?
the_velour_fog

Tôi sẽ không đặt nó như vậy. Tệp ISO chứa một hệ thống tệp. Giống như một phân vùng chứa một hệ thống tập tin. Bạn sẽ không nói rằng một phân vùng một hệ thống tập tin (tôi hy vọng)
Anthon

Làm thế nào khác với việc nói "một tệp png chứa một hình ảnh, nhưng không phải là một hình ảnh", tức là một sự phân biệt ngớ ngẩn và vô dụng?
Nick Matteo

@the_velour_fog: Chính xác hơn để nói iso về cơ bản thực hiện chức năng của thiết bị khối.
TMN
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.