(CP кошке, к которой AS mv?) mv несколько файлов в один файл вместо кошки * комната *

Смотрите это названное учебное руководство: загрузчик GRUB 2 - Полное учебное руководство. Это учебное руководство включает несколько снимков экрана, где они встречаются, "Нажимают любые ключевые" сообщения.

Например,

Ошибка GRUB 13.

                ss of 13

Ошибка GRUB 11 или ошибка GRUB 15:

                                 ss of 11

В обоих случаях вопрос должен быть решен путем проверки, что записи ОС в Вы grub.cfg содержите корректные ссылки на раздел жесткого диска, который они, предполагают для указывания.

Обычно необходимо будет изменить ссылки, такие как HD (0,0) к нотации корректного раздела. Возможно, HD (1,1) или что-то еще.

Дополнительно на раздел может сослаться UUID. Если Вы можете загрузиться в ОС, затем делают так и затем когда при терминальной подсказке, введите команду, blkid и отметьте строку UUID своим конкретным жестким диском.

пример blkid

$ blkid
/dev/sda1: LABEL="SYSTEM_DRV" UUID="10BE8345DE8CB0148" TYPE="ntfs" 
/dev/sda5: UUID="1053b90f-4685-4317-9dac-fbcf3002838f" TYPE="ext4" 
/dev/sda6: UUID="av6WTb-69CU-4Ump-0fGR-dGbE-fTtC-fG93LA" TYPE="LVM2_member" 
/dev/mapper/vg_grinchy-lv_root: UUID="75e07a5d-345d-453c-99bd-97fe615fd956" TYPE="ext4" 
/dev/mapper/vg_grinchy-lv_swap: UUID="93016bc7-8902-4ca8-82a4-13cffc7b4353" TYPE="swap" 
/dev/mapper/vg_grinchy-lv_home: UUID="9b0bd0b8-9d75-467c-9694-98951325083d" TYPE="ext4"

4
18.07.2014, 03:43
2 ответа

Самое большое препятствие для такого инструмента, как этот, заключается в том, что если размер каждого файла (за исключением последнего), сцепленного с конкатеном, не будет точно разделен на размер блока (я немного не уверен в правильности терминологии), то в конечном итоге вы получите "пробелы" с мусорными данными между вашими сцепленными файлами в окончательном файле.

Это происходит потому, что файловые данные обычно хранятся в блоках с определенными размерами в файловой системе, так что файл размером 618 байт, хранящийся в файловой системе с использованием 32-байтовых блоков, занимал бы 618 / 32 = 19.3125 блоков, т.е. 19 полных блоков, и около 1/3 дополнительного блока.

Предположим, что вы хотели объединить два таких файла, не касаясь моего препятствия, вы бы просто указать "новый файл" на блоки первого файла, плюс блоки второго файла, не так ли?

С этим наивным подходом, вы бы в конечном итоге с файлом 40 блоков, с его блоком 20 быть 1 / 3 разумно и 2 / 3 мусор, и блок 21, начиная данные второго файла.

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

5
27.01.2020, 20:52

Вот аналогичный вопрос из stackoverflow https://stackoverflow.com/questions/5893531/fast-concatenate-multiple-files-on-linux

Простой ответ -

Это могло работает только в том случае, если все файлы (кроме последнего) гарантированно имеют размер, кратный размеру блока файловой системы.

Потому что файловая система должна прочитать все блоки до конца файла.

1
27.01.2020, 20:52

Теги

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