Вопросы по устройствам Loop и монтированию образа диска

Команды отсюда: Смонтировать один раздел из образа всего диска (устройства)

О первой команде «Мне нужно» Рассчитать смещение от начала образа на начало раздела ", но не знаю, что означают числа, указанные в ** (512 в этом примере):

$ sudo fdisk -lu sda.img
...
Units = sectors of 1 * **512** = **512** bytes
Sector size (logical/physical): **512** bytes / **512** bytes
...
  Device Boot      Start         End      Blocks   Id  System
sda.img1   *          56     6400000     3199972+   c  W95 FAT32 (LBA)

о второй команде, что такое" loop0 ":

sudo losetup -o 28672 /dev/loop0 sda.img

Я посмотрел там, и это было похоже на текстовый файл, но это не так, это тоже не папка. что это за файл? Могу ли я выбрать другое имя для него? Если да, я должен создать его раньше?

Как работает третья команда? Что означает каждая его часть?:

sudo mount /dev/loop0 /mnt

Я уже успешно выполнил команды, чтобы делать то, что хотел, для меня просто важно понять это больше в следующий раз и помочь другим.

Спасибо за ваши ответы и за то, что научили меня (:

0
задан 13 April 2017 в 15:24

1 ответ

В первой команде число 512 относится к размеру блока изображения. Когда файл записывается на диск, он использует x количество блоков. Оставшаяся часть любого неиспользованного блока - пустое место. Вот почему вы иногда видите вещи, перечисленные как размер (фактический размер файла, папки и т. Д.) И размер на диске (объем фактически занятого диска, что позволяет учитывать несоответствие размера блока. Возьмите, например, файл размером 1234 байта, если бы мы использовали 512-байтовые блоки, то на самом деле это заняло бы 3 блока, или 1536 байт (512 * 3) и 302 байт (1536 - 1234) байт были бы «потрачены впустую».

Цикл 0 является loopback device. Все файлы в каталоге / dev на самом деле являются устройствами (отсюда и название :-)). Linux рассматривает устройства как файлы, что позволяет очень легко выполнять некоторые задачи при работе с оборудованием. то есть следующая команда отправит аудиофайл непосредственно на звуковую карту для воспроизведения (нет необходимости в программном обеспечении, аккуратно!)

cat sound.wav > /dev/audio

Устройства с обратной связью - это специальные псевдо или поддельные устройства, которые Linux использует в таких случаях, как ваш. В этой команде вы говорите, что хотите, чтобы Linux воспринимал ваш файл образа как жесткий диск. Это позволяет вам выполнить любую команду, которую вы обычно запускаете на жестком диске, в вашем файле образа.

Для последней команды мы просто монтируем файловую систему на вашем поддельном диске (ваш файл образа) в папку в локальной файловой системе. В Linux мы используем плоскую структуру каталогов, поэтому каждое местоположение файла (включая устройства, сетевые диски и внешние жесткие диски и т. Д.) Начинается с '/', который также называется корнем файловой системы. Монтирование файловой системы просто помещает ее в место, доступное для остальной части системы (где-то в /).

Теперь по умолчанию только пользователь с именем «root» может монтировать файловые системы. Пользователь root в основном такой же, как пользователь администратора в Windows. Кто-то, кто может сделать что-нибудь на компьютере. В Ubuntu пользователь root скрыт для безопасности, поэтому нам нужно использовать sudo. Команда sudo, по сути, означает «эй, сделайте меня пользователем root для запуска этой команды».

mount здесь это команда, которую мы запускаем как root (sudo), / dev / loop0 - это наш поддельный диск, который мы создали ранее, и / mnt - это место, где мы хотим, чтобы образ был доступен в , / mnt и / media - это стандартные места в Linux, где мы монтируем файловые системы, хотя это может быть где угодно. Лучше всего создавать подпапку в / mnt или / media для монтирования, вместо просто / mnt. Это потому, что у вас могут быть смонтированы другие файловые системы, и если вы смонтируете поверх них, они не будут доступны! Единственное предостережение: вам нужны права суперпользователя для создания здесь папки, поэтому ваша последняя команда должна состоять из двух команд и выглядеть следующим образом:

sudo mkdir /mnt/myimg
sudo mount /dev/loop0 /mnt/myimg

mkdir - это просто команда для сделать каталог.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: