Команды отсюда: Смонтировать один раздел из образа всего диска (устройства)
О первой команде «Мне нужно» Рассчитать смещение от начала образа на начало раздела ", но не знаю, что означают числа, указанные в ** (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
Я уже успешно выполнил команды, чтобы делать то, что хотел, для меня просто важно понять это больше в следующий раз и помочь другим.
Спасибо за ваши ответы и за то, что научили меня (:
В первой команде число 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
- это просто команда для сделать каталог.