Когда вы делаете
sudo dd if=/dev/sdh1 of=/dev/sdg bs=4096 conv=notrunc,noerror
вы копируете первый раздел sdh
на весь диск sdg
с самого начала, перезаписывая таблицу разделов. Поскольку вы перезаписали таблицу разделов, она «стирает все».
Так что это не работает. Что вам нужно сделать, так это сначала создать разделы надлежащего размера на sdh
, используя соответствующие инструменты для любой MBR (, например. fdisk
,... )или GBR (например. gdisk
, gparted
,... ). Выберите инструмент, который вам больше всего нравится, поищите в Google руководства по его использованию.
После того, как вы создали разделы, вы можете просто скопировать их (при условии, что размеры соответствуют ). Допустим, вы хотите переместить первый раздел на sdh
в третий раздел на sdg
из четырех, которые вы создали,вы можете просто сделать
sudo cp /dev/sdh1 /dev/sdg3
Нет необходимости использовать dd
. Дважды проверяйте, что вы печатаете, если вы сделаете ошибку, вы перезапишете то, что не хотите перезаписывать.
Чтобы разделы оставались загрузочными, вы должны пометить их на новом диске так же, как они были помечены на старом диске.
Способ просмотра журнала сообщений ядра в FreeBSD совсем не с dmesg
. dmesg
основан на sysctl()
, который не представляет понятного интерфейса. Вместо этого sysctl()
делает снимки только текущего буфера сообщений ядра.
Чтобы следить за журналом сообщений, вместо этого открывается /dev/klog
и опрашивается дескриптор файла (с помощью kevent()
или подобного )для чтения. Только одна программа в системе может сделать это в любой момент времени, так как чтение разрушительно. Эта программа будет syslogd
или что-то вроде набора инструментов nosh klog-read
.
Таким образом, человек, скорее, следует выводам этих программ. С klog-read
это эффективно следует за журналом сообщений ядра, как -. С помощью syslogd
системный администратор может настроить журналы ядра для доставки по частям в разные места.
FreeBSD dmesg не имеет переключателя --follow (-w ), но вы можете следить за выводом, используя хвост следующим образом:tail -F /var/log/messages
Источник ответа:Форумы FreeBSD
Примечание :Обновлено для использования -F
вместо -f
в соответствии с предложением @Mateusz Piotrowski