dd


Восстановление загрузчика Windows после установки Linux

1.Загружаемся в Linux
Считываем первые 512 байт диска командой

$ dd if=/dev/hda of=~/bootsect.bin bs=512 count=1

2.Нужно передать этот файл в Windows, через USB-Диск или через запись на примонтированые разделы

3.Загружаемся c Установочного диска Windows в режиме консоли - нужно при загрузки с диска нажать кнопку R
Выбираем нужную копию Windows
Выполняем команду fixmbr для восстановления главной загрузочной записи.

4.Перезагружаемся - загружается Windows
Копируем с флешки файл bootsect.bin в корень диска С:\
Включаем отображение невидемых файлов
В файл boot.ini дописываем строчку

C:\bootsect.bin="Linux"

Перезагружаемся, и проверяем. Теперь загрузчик позволяет нам выбирать Linux и Windows.

Советы в тему:

0
Ваша оценка: Ничего
bliznezz аватар

смотрим за работой dd

часто бывает нужно сделать копию/дамп с помощью команды dd какого нить большого объекта, выполняем dd if=/input of=/output bs=1M ... и работает оно себе. когда работает долго - хочется узнать сколько осталось. сколько осталось - не ясно, а статистику I/O можно получить.
нужно подать сигнал -USR1 (-10) этому процессу, и он выкинет эту информацию в stderr

$ dd if=/dev/zero of=/dev/null bs=1M &
$ killall -10 dd 
566067+0 records in
566066+0 records out
593563222016 bytes (594 GB) copied, 16.1759 s, 36.7 GB/s
0
Ваша оценка: Ничего
ramok аватар

Цифровые аргументы для dd в шеснадцатиричном виде

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

$ dd bs=0x1
dd: неверный номер `0x1'
$  dd count=0x1
0+0 записей считано
0+0 записей написано
 скопировано 0 байт (0 B), 1,248e-05 секунд, 0,0 kB/s
0
Ваша оценка: Ничего

добавляем Linux в NT boot loader

1. В консоли Linux из под root выполняем:

$ dd if=/dev/hd?? of=~/bootsect.lnx bs=512 count=1

Обратите внимание, вместо /dev/hd?? должен быть указан раздел диска, на котором стоит Linux. Это может быть /dev/hda1, /dev/hda2, и т.д. Имейте в виду, данное только действительно для IDE дисков. Диски SATA или SCSI будут начинаться с /dev/sd??.
Так или иначе, этой командой мы "выдрали" 512 байт из загрузочного сектора раздела (т.е. /dev/hd??) , на котором стоит Linux и положили в файл с названием bootsect.lnx

0
Ваша оценка: Ничего