Какво е dd изображение на диск. Създаване на стартиращо USB флаш устройство за инсталиране на Windows с помощта на програмата Rufus. Мигриране на системата към друг твърд диск

Да предположим, че сте изтеглили ISO файл с изображение за разпространение и сте подготвили флаш устройство.

Терминалната команда за писане на iso образа на дистрибуцията е следната:

sudo dd if=път към .iso of=/dev/sdb

Къде вместо път към .isoтрябва да посочите пътя до iso файла от вашата папка Изтегляния.
sdbв края на командата това е флашката, на която ще бъде записано изображението. За да идентифицирате вашето флаш устройство, изпълнете в терминал:



И ако вашето флаш устройство е дефинирано по различен начин, променете го в командата.

За да въведете правилно пътя до файла в командата, отворете папката с файла, отворете близкия терминал и плъзнете файла в него:


Терминалът ще покаже пътя до файла и самия .iso файл. Копирайте го без кавички и го поставете в командата, а в терминала натиснете клавишната комбинация ctrl+cза нулиране и показване нова линияпокани.

Най-лесният начин да създадете команда е в текстов редактор.
Получих следната команда:


Сега поставете USB флаш устройството в порта на компютъра, копирайте получената команда от текстов редактор, въведете в терминала и изпълнете (натиснете Enter):


Курсорът на терминала ще мига и изглежда, че нищо не се случва, но всъщност има запис. Изчакайте записът на изображението да приключи и накрая трябва да видите нещо като следното в терминала:


Това е всичко. Вашето флаш устройство стана стартиращо и вече можете да инсталирате дистрибуцията на всеки компютър.

Бъдете внимателни, защото ако направите грешка в името на флашката в командата dd, можете да повредите твърдия диск на хоста.

Нека покажем обозначението на секциите на всички устройства

и намерете сред тях флашка:

sudo fdisk -u -l /dev/sd?

Също така, за да дефинирате дялове на всички устройства, можете да използвате командата:

sudo cat /proc/partitions

синтаксис на командата dd

dd if=/AAAA of=/BBBB bs=CCCC count=DDDD conv=няма грешка
  • ако: (входен файл) сочи към източника, т.е. откъдето копираме. Указва файл, който може да бъде обикновен файл или файл на устройство.
  • на: (изходен файл) сочи към целевия файл. Същото, можем да пишем като в обикновен файл, или директно към устройството.
  • bs: брой байтове, които трябва да бъдат записани наведнъж. Това е размерът на част от данните, които ще бъдат прочетени и записани наведнъж. препоръчва се да зададете bs= на размера на кеша на твърдия диск, т.е. 8M 16M 32M
  • броя: колко парчета bsще бъдат копирани.
  • conv:ви позволява да свържете филтри, приложими към потока от данни. Филтър "няма грешка"просто деактивира спирането на програмата, когато срещне грешка при четене.

Примери

Пълно изтриване на диска

Така че нищо не може да бъде възстановено на носителя - можете да го попълните с нули, тази команда винаги ще завършва с грешката "носителят няма място"

Dd if=/dev/нула от=/dev/sdX

Създайте изображение на диск

dd if=/dev/cdrom of=image.iso conv=noerror

възможно е и в системата

Mount -o цикъл /PathToImageFile/image.iso /mnt/FolderMount

Ако нещо не се получи, процесът се разделя на 2 нива:

Losetup -e /dev/loop0 /PathToImageFile/image.iso монтиране /dev/loop0 /mnt/FolderMount

Операции с MBR

MBR се намира в първите 512 байта харддиск, и се състои от таблица на дяловете, буутлоудър и няколко add. байт. Понякога трябва да се архивира, възстанови и т.н. Архивирането се прави по следния начин:

Dd if=/dev/sda of=mbr.img bs=512 count=1

По-лесно е да възстановите:

Dd if=mbr.img of=/dev/sda

Копиране с архивиране

(използвайки gzip) данни от флаш устройство на твърд диск.

Dd if=/dev/sdX conv=sync,noerror bs=8M | gzip -c >/PathToSave/sdX.img.gz

и обратно

Gunzip -c /PathToFile/sdX.img.gz | dd of=/dev/sdX conv=sync,noerror bs=8M

Копиране по мрежата

dd if=/dev/sdX conv=sync,noerror bs=8M | ssh -c blowfish [имейл защитен]"dd of=sdX.img.gz bs=8M"

и обратно

Dd if=sdX.img.gz | ssh -c blowfish [имейл защитен]"dd of=/dev/sdX bs=8M"

Доста често системните администратори трябва да копират различни двоични данни. Например, понякога може да искате да направите резервно копие на вашия твърд диск, да създадете празен файл, пълен с нули, за да организирате суап пространство или друга виртуална файлова система.

За решаването на всички тези задачи се използва помощната програма linux dd, която просто копира данни от едно място на друго на двоично ниво. Може да копира CD/DVD диск, част от диск или дори цял HDD. В тази статия ще разгледаме какво представлява командата dd linux, нейните основни опции и параметри и как да я използвате.

Първо трябва да разберете как работи командата dd и какво прави. Всъщност това е аналог на помощната програма само за блокови данни. Помощната програма просто прехвърля един блок данни с определен размер от едно място на друго. Тъй като Linux третира всичко, включително устройствата, като файлове, можете да премествате устройства във файлове и обратно.

Използвайки различни опции за помощни програми, можете да повлияете на размера на блока и това от своя страна вече влияе върху скоростта на програмата. След това ще разгледаме основните опции на помощната програма и нейните възможности.

dd команда

Синтаксисът на помощната програма е доста необичаен, но в същото време много прост, след като го запомните и свикнете с него:

$ dd if= копие_източникот= дестинациянастроики

С параметъра if трябва да посочите източника, от който ще бъдат копирани блоковете, това може да бъде устройство, например / dev / sda или файл - disk.img. След това, като използвате параметъра of, трябва да посочите целевото устройство или файл. Другите параметри имат същия синтаксис като if и of.

Сега нека да разгледаме допълнителните опции:

  • bs- показва колко байта да се четат и записват наведнъж;
  • cbs- колко байта трябва да се записват наведнъж;
  • броя- копиране на посочения брой блокове, размерът на един блок е посочен в параметъра bs;
  • конв- прилагане на филтри към потока от данни;
  • ibs- чете определен брой байтове наведнъж;
  • наб- запишете определения брой байтове наведнъж;
  • търси- пропускане на посочения брой байтове в началото на устройството за четене;
  • пропуснете- пропуска зададения брой байтове в началото на изходното устройство;
  • състояние- показва колко подробно трябва да направите заключение;
  • iflag, oflag- позволява ви да зададете допълнителни флагове за работа за входно и изходно устройство, основните са: nocache, nofollow.

Това бяха всички основни опции, от които може да се нуждаете. Сега нека се приближим до практиката и да разгледаме няколко примера за това как да използвате помощната програма dd linux.

Как да използвате dd

Редовните потребители използват командата dd най-често за създаване на изображения DVD дисковеили CD. Например, за да запишете изображение на диск във файл, можете да използвате следната команда:

sudo dd if=/dev/sr0 of=~/CD.iso bs=2048 conv=noerror

Филтърът без грешка ви позволява да деактивирате реакцията при грешка. След това можете да създадете изображение на твърд диск или дял върху него и да запишете това изображение на диск. Само внимавайте да не записвате на същия твърд диск или дял, за да не предизвикате рекурсия:

dd if=/dev/sda of=~/disk.img

Във вашия домашна папкаще бъде създаден файл, наречен disk1.img, който в бъдеще може да бъде разгърнат и възстановен в повредена система. За да запишете изображение на твърд диск или дял, просто разменете адресите на устройството:

dd if=~/disk.img of=/dev/sda

много важно и полезна опцияе bs. Това ви позволява значително да повлияете на скоростта на помощната програма. Тази опция ви позволява да зададете размера на един блок при прехвърляне на данни. Тук трябва да посочите числова стойност с един от тези модификатори на формат:

  • с- един знак;
  • b- 512 байта;
  • kB- 1000 байта;
  • К- 1024 байта;
  • MB- 1000 килобайта;
  • М- 1024 килобайта;
  • GB- 1000 мегабайта;
  • Ж- 1024 мегабайта.

Командата dd linux използва точно такава система, сложна е, но няма спасение от нея. Трябва да се разбере и запомни. Например 2b е 1 килобайт, а 1k също е 1 килобайт, 1M е 1 мегабайт. По подразбиране помощната програма използва размер на блок от 512 байта. Например, за да ускорите копирането на диска, можете да вземете блокове с размер от 5 мегабайта. За целта се използва следната команда:

dd if=/dev/sda of=~/disk.img bs=5M

Следващият параметър е count. С него можете да посочите колко блока да копирате. Например, можем да създадем файл от 512 мегабайта, като го попълним с нули от /dev/zero или произволни числа от /dev/random:

sudo dd if=/dev/zero of=file.img bs=1M count=512

Моля, имайте предвид, че този параметър не показва размера в мегабайти, а само броя на блоковете. Следователно, ако посочите размер на блок от 1b, тогава трябва да се вземат само два блока, за да се създаде файл от 1Kb. Можете също да използвате тази опция за архивиране на MBR таблицата на дяловете. За да направите това, копирайте първите 512 байта от твърдия диск във файла:

sudo dd if=/dev/sda of=mbr.img bs=1b count=1

За да възстановите, използвайте нормалната команда за разгръщане на изображението на диск.

Ако изображението на диска е твърде голямо, можете да пренасочите целия изход към не-stdout изхода на gzip:

dd if=/dev/sda2 | bzip2 disk.img.bz2

Можете също да използвате помощната програма на linux dd за копиране на файлове, въпреки че това не е предназначението й:

dd if=/home/sergiy/test.txt of=/home/sergiy/test1.txt

Както знаете, командата linux dd записва данни на диска директно към двоична форма, което означава, че се записват нули и единици. Те заместват това, което е било поставено преди това на записващото устройство. Следователно, за да изтриете диск, можете просто да го попълните с нули от /dev/zero.

sudo dd if=/dev/нула от=/dev/sdb

Това използване на dd води до пълното изтриване на целия диск.

заключения

В тази статия разгледахме как да използваме dd linux, за какво може да се използва тази помощна програма и колко полезна може да бъде. Това е почти незаменим инструмент системен администратор, защото може да се използва за архивиране на цялата система. И сега знаете как. Ако имате въпроси, попитайте в коментарите!

    Руфъс- Безплатно софтуеринструмент с отворен код за форматиране на сменяеми USB носители за съхранение и създаване на стартиращи дискове с различни операционна система. Програмата е лесна за използване, висока скоростработи и поддържа многоезичен интерфейс.

Можете да изтеглите програмата от уебсайта на разработчика. Страницата съдържа връзки за изтегляне на стандартната версия Руфъс, и преносим Руфъс преносим, които не се различават по нищо, освен по името на изпълнимия файл и мястото, където се съхраняват настройките. Настройките на програмата включват използвания език и настройките за проверка за актуализации. Стандартната версия съхранява тези настройки в системния регистър, докато преносимата версия ги съхранява във файл rufus.iniпрограмна директория. Руфъсне изисква инсталация в системата - просто изтеглете изпълнимия файл и го стартирайте. Интерфейсът на програмата е много прост:

Като цяло програмата Руфъсне е нещо уникално в областта на инструментите за създаване на стартиращи носители и основното му предимство е лекотата на използване. За да създадете стартиращо флаш устройство с негова помощ, достатъчно е да имате първоначалния образ на стартиращата система и да можете да кликнете върху бутона "Старт". Всички избираеми параметри и настройки по подразбиране вече са проектирани за използване на програмата за работа на компютър със стандартна конфигурация.

Най-лесният и удобен за използване Руфъсза създаване на стартиращо USB флаш устройство (стартиращ USB диск) от ISO изображения на инсталацията Windows устройстваили Linux, както и дискове за аварийно възстановяване на системата и инструменти за диагностика.

Когато създавате стартираща Windows флашка, достатъчно е да изберете устройството, на което ще се извършва записът, и стартиращия iso-image файл. Програмата сама ще замени други параметри.

Ако няма наличен ISO файл с изображение, той може да бъде създаден въз основа на физически компактдиск (или от набор от файлове за разпространение) с помощта на програми за запис на CD / DVD като добре познатите Nero, Alcohol или свободно разпространявани CDBurnerXP или ImgBurn .

Процедурата за създаване на стартиращо флаш устройство на Windows е следната:

  • изберете флаш устройството, на което ще бъде записано изображението. За разлика от много подобни програми, Rufus показва етикета на тома, буквата и размера на устройството, така че ако в системата има няколко сменяеми устройства, е лесно да изберете този, на който да пишете.

  • изберете схема на дялове и тип системен интерфейс. Rufus ви позволява да създавате флаш памети за зареждане в обикновен BIOS интерфейс и за зареждане в UEFI среда, създаване на записи за зареждане за MBR томове и GPT томове. Режимът по подразбиране е "MBR за компютри с BIOS или UEFI" - най-често срещаният режим за стартиращи флаш устройства днес.

  • изберете файловата система, която ще се използва на създаденото стартиращо флаш устройство. По подразбиране стартиращите флаш памети на Windows използват файловата система FAT32, но ако е необходимо, можете да изберете NTFSако искате да използвате файлове, по-големи от 4 GB.

  • задайте размера на клъстера. Размерът на клъстера се избира от програмата въз основа на данните за изображението и типа на файловата система, но ако е необходимо, може да бъде променен.

  • посочете етикета на тома, който ще бъде зададен за създаденото флаш устройство.

  • задайте опции за форматиране. Тези опции е най-добре да оставите по подразбиране и просто изберете файла ISO изображение. За изображения, създадени от програмата ддна Linux, трябва да изберете опцията DD изображение.

    След натискане на бутона Започнетепрограмата ще форматира флаш устройството, задайте знака активен дял, ще запише основния зареждащ записи записа за зареждане на дяла, както и данни за стартиращ носител от ISO изображението. След приключване на работата Руфъсможете да стартирате, като използвате полученото стартиращо флаш устройство.

    Използване на технология за виртуализация за тестване на стартиращи флаш устройства. Изтеглете връзки безплатно и удобни програмиза опростяване на процеса на създаване, отстраняване на грешки и проверка на създадения стартиращ носител.

    Екип дде предназначен да използва помощната програма със същото име, предназначена за копиране на ниско ниво и преобразуване на данни. Името му означава „умножител на данни“ или „умножител на данни“. Тази помощна програмаИзползва се главно за запис на изображения на инсталационни дискове на дистрибуции на Linux на флаш устройства и създаване на изображения на оптични носители, но наборът от функции не се ограничава до изброените операции. Например, ддможе да се използва просто за копиране на файлове или промяна на регистъра на буквите на текстови низове. Като цяло въпросната помощна програма е донякъде уникална, тъй като включва използването на собствен формат за предаване на параметри.

    Стандартният синтаксис на командата е както следва:

    $ dd if=<имя исходного файла>от=<имя целевого файла>[настроики]

    Лесно е да се види, че за предаване на параметри към помощната програма се използва форматът на запис <имя параметра>=<значение параметра> . Помощната програма може да чете изходни данни от стандартния входен поток и да извежда получените данни, използвайки стандартния изходен поток в случай на отказ да използва параметри акои на, но в по-голямата част от случаите тези параметри са необходими за указване на имена на файлове със съответните данни. Помощната програма чете и записва данни в блокове, а размерът на блока може да се променя с помощта на параметъра bs(по подразбиране се използват блокове от 512 KB). Има отделни параметри за задаване на размерите на четими и записваеми блокове, а именно, ibsи наб. Броят на четливите блокове може да бъде ограничен с помощта на параметъра броя. Параметърът може да се използва за пропускане на даден брой блокове в изходния файл. пропуснете, целеви файл - параметър търси. Параметърът може да се използва за указване на флагове за четене и запис, разделени със запетаи. iflag

    • добавям- активиране на режима за добавяне на данни към целевия файл.
    • директен- режим на обработка на данни, заобикаляйки кеша файлови системи(увеличава скоростта).
    • dsync- режим на запис на данни със синхронизация (увеличава надеждността).
    • синхронизиране- режим на запис на данни и метаданни със синхронизация (увеличава надеждността).
    • пълен блок- четене само на цели блокове.
    • неблокиране- активиране на неблокиращия I / O режим (увеличава скоростта).
    • няма време- деактивиране на механизма за актуализиране на времеви марки на елементи на файловата система (увеличава скоростта).
    • nofollow- Отказ от следване на символни връзки.

    И накрая, параметърът може да се използва за указване на флагове за преобразуване, разделени със запетая конв. Най-често използваните флагове са:

    • случай- конвертиране на символи от ASCII низ в малки букви.
    • случай- конвертиране на символи от ASCII низ в главни букви.
    • nocreat- изведе съобщение за грешка, ако целевият файл липсва.
    • без- изведе съобщение за грешка, ако целевият файл съществува.
    • notrunc- отказ за съкращаване на целевия файл.
    • тампон- промяна на местата на всеки два байта от изходния файл.
    • без грешка- продължаване на работата дори при грешки.
    • fdatasync- активиране на режима за запис на данни в целевия файл, преди помощната програма да приключи.
    • fsync- активиране на режима за запис на данни и метаданни в целевия файл, преди помощната програма да приключи.

    Примери за използване

    Архивиране на данни от дисково устройство

    Да предположим, че използваме твърд диск, представен от файл на устройство /dev/sdaи трябва да създадем резервно копие сектор по сектор на всички данни, поставени върху него, като ги запазим във файл в дял на сменяемо USB устройство, представено от файл на устройство /dev/sdb1и монтиран към директорията /mnt/sdb1. Обикновено тези архивни файлове се наричат ​​дъмпове или дискови изображения. Нашият файл с изображение на диск ще бъде наименуван backup.img. Това е командата за създаването му:

    # dd if=/dev/sda of=/mnt/sdb1/backup.img

    В тази команда, използвайки параметъра акосе указва пътят до изходния файл и се използва параметърът на- към целта.

    Възстановяване на данни от резервно копие

    За да възстановите данни от създадено архивно копие, трябва да стартирате системата от инсталационен дискразпределение и изпълнете обратната команда.

    # dd if=/mnt/sdb1/backup1.img of=/dev/sda

    Внимание:когато тази команда се изпълни, цялото съдържание на посочения твърд диск ще бъде презаписано, така че трябва да третирате такива команди с особено внимание.

    Клониране на твърд диск

    Преди да клонирате твърд диск, трябва да се уверите, че имате твърд диск със същия размер като оригиналния. Същата операция може да се извърши с USB флаш устройства със същия размер. Да приемем, че изходното флаш устройство е представено от файл на устройството /dev/sdb, а целта е файл на устройство /dev/sdc. В този случай можете да клонирате оригиналното устройство със следната команда:

    # dd if=/dev/sdb of=/dev/sdc

    Дори ако целевото устройство има по-голям капацитет, ще имате достъп само до капацитета на изходното флаш устройство, запазен на ниво файлова система.

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

    За да прехвърлите файл с изображение на диск по мрежата към друг компютър с име целможе да се използва следната команда:

    # dd if=/dev/sdb | ssh [имейл защитен]"(cat >backup.img)"

    Компресиране на файл с изображение на диск

    Да се резервно копиедисковият дял заема по-малко място, можете да го компресирате с компресор като bzip2:

    # dd if=/dev/sdb | bzip2 архивиране.img.bz2

    Създайте изображение на ISO оптичен диск

    За създаване на изображение оптичен дискДостатъчно е да прочетете съдържанието на CD, DVD или BD блок по блок и да запишете това съдържание във файл:

    # dd if=/dev/sr0 of=image.iso bs=2048

    Запазване на файл от повреден носител или създаване на изображение на такъв носител

    Ако вашият любим филм или музикален запис вече не се чете поради повреда на носителя, можете да опитате да го копирате с помощта на помощната програма дд, игнорирайки лоши блокове:

    # dd if=movie.avi of=/home/alex/movie.avi conv=noerror,sync

    Можете също да създадете файл с изображение повредена медияи опитайте да извлечете файлове от него:

    # dd if=/dev/sdb of=/home/alex/movie.iso bs=2048 conv=noerror,sync

    Записване на изображението на инсталационния диск на USB флаш устройство

    За монтаж Linux дистрибуцияот USB флаш устройство, трябва да запишете инсталационен диск в ISO формат на това USB флаш устройство. Подобна команда може да се използва за тази цел:

    # dd if=/home/alex/Fedora-Workstation-Live-x86_64-26_Alpha-1.7.iso of=/dev/sdc

    Важно е да запомните, че дори ако има дялове на флаш устройството, трябва да посочите не пътя до файла на устройството на един от дяловете, а пътя до файла на устройството на самото устройство, в нашия случай това е /dev/sdc.

    Анализ на съдържанието на твърдия диск

    полезност дде чудесен инструмент за изследване на файлови системи. За анализ съдържание труднодиск с извеждане на данни от отделни блокове, в нашия случай блок 1001 на дяла, представен от файла на устройството /dev/sdc1просто използвайте следната команда:

    # dd if=/dev/sdc1 count=1 skip=1000

    За да видите първите 40 байта на вашия твърд диск в шестнадесетична система, използвайте командата:

    # dd if=/dev/sda bs=1 count=40 | hexdump -C

    В този случай с помощта на параметъра bsзадайте размера на дисковия блок.

    Тестване на производителността на устройството

    За тестване на производителността на дисково устройство, представено, например, от файл на устройство /dev/sdaв условия на четене на блокове с различни размери може да се използва подобна команда:


    1000000+0 записа в
    Излезли 1000000+0 записа

    # dd if=/dev/sda of=/dev/null bs=4096 count=1000000
    1000000+0 записа в
    Излезли 1000000+0 записа
    4096000000 байта (4.1 GB) копирани, 29.8747 s, 137 MB/s

    Благодарение на механизма за кеширане на файловите системи, можете да срещнете мистично ускоряване на операцията за четене, което не трябва да е изненадващо:

    # dd if=/dev/sda of=/dev/null bs=512 count=1000000
    1000000+0 записа в
    Излезли 1000000+0 записа
    512000000 байта (512 MB) копирани, 4.25186 s, 120 MB/s

    # dd if=/dev/sda of=/dev/null bs=512 count=1000000
    1000000+0 записа в
    Излезли 1000000+0 записа
    512000000 байта (512 MB) копирани, 0.417317 s, 1.2 GB/s

    За да получите правилни резултати от теста, се препоръчва напълно да заобиколите механизма за кеширане на файловата система, като използвате I/O режим без кеширане:

    # dd if=/dev/sda of=/dev/null bs=512 count=100000 iflag=директен
    100 000+0 записа в
    Излезли 100 000+0 записа
    51200000 байта (51 MB) копирани, 5.01053 s, 10.2 MB/s

    Копиране на файлове

    Да, полезност дддори може да се използва за нормално копиране на файлове. Разбира се, за тази цел е по-добре да използвате помощна програма, специално предназначена за това, а именно, cp. Във всеки случай можете да копирате файла с подобна команда:

    $ dd if=/home/alex/test.txt /home/alex/test_copy.txt