Можно ли каким-либо средствами сдвинуть слайс FreeBSD на диске, т.е. перенести
его на n ГБ вперед? Насколько мне известно разного рода Partition Magic'и не
работают с такими разделами, но, быть может, позволяют перенести его побайтно?Вопрос: насколько безопасен будет такой перенос? Насколько я понял, смещения
в разделах внутри слайса хранятся относительно его (слайса) начала, а не начала
диска. По крайней мере так утверждает bsdlabel. Так что, в принципе, можно
надеяться на успех. Или я не прав?Не сталкивался ли кто с такой задачей?
>диска. По крайней мере так утверждает bsdlabel. Так что, в принципе, можно
>надеяться на успех. Или я не прав?
Внутри disklabel смещения точно абсолютные. Внутри файловой системы ИМХО относительные, но не факт. Можно попробовать переместить с последующим изменением disklabel (можно сохранить последний в текстовом виде - bsdlabel транслирует смещения в относительные). Но гарантий никаких, поэтому надежнее всего, как обычно, dump/restore.
>>диска. По крайней мере так утверждает bsdlabel. Так что, в принципе, можно
>>надеяться на успех. Или я не прав?
>Внутри disklabel смещения точно абсолютные. Внутри файловой системы ИМХО относительные, но не
>факт.факт, относительные
> Можно попробовать переместить с последующим изменением disklabel (можно сохранить последний
>в текстовом виде - bsdlabel транслирует смещения в относительные). Но гарантий
>никаких, поэтому надежнее всего, как обычно, dump/restore.угу
можем получить размер слайса - можем
можем скопировать слайс побайто - dd if=/dev/adXsY of=slice.img - можем
ну а дальше понятно. для страховки можно сохранить компии суперблока/овps. все остальное как было сказано - береженого бог бережет
>>>диска. По крайней мере так утверждает bsdlabel. Так что, в принципе, можно
>>>надеяться на успех. Или я не прав?
>>Внутри disklabel смещения точно абсолютные. Внутри файловой системы ИМХО относительные, но не
>>факт.
>
>факт, относительные
>
>> Можно попробовать переместить с последующим изменением disklabel (можно сохранить последний
>>в текстовом виде - bsdlabel транслирует смещения в относительные). Но гарантий
>>никаких, поэтому надежнее всего, как обычно, dump/restore.
>
>угу
>
>можем получить размер слайса - можем
>можем скопировать слайс побайто - dd if=/dev/adXsY of=slice.img - можем
>ну а дальше понятно. для страховки можно сохранить компии суперблока/ов
>
>ps. все остальное как было сказано - береженого бог бережетСпасибо, рискну
>можем получить размер слайса - можем
>можем скопировать слайс побайто - dd if=/dev/adXsY of=slice.img - можем
>ну а дальше понятно. для страховки можно сохранить компии суперблока/ов
>
>ps. все остальное как было сказано - береженого бог бережетЭксперименты в "песочнице" (qemu) завершились вполне удачно.
Загрузившись с live-cd просто создал fdisk'ом слайс точно такого же размера
в неразмеченной области и тупо скопировал раздел в раздел командой
dd if=/dev/ad0s1 of=/dev/ad0s2 bs=1M. После чего ad0s1 прибил. Этого
оказалось достаточно. Грузится отлично (ну, ясно, новый / при первой загрузке
переписывается вручную). В общем, надо было про qemu вспомнить раньше :))Остался еще вопрос, впрочем, вероятно, риторический. Такое решение подходит,
если на диске достаточно места для создания непересекающегося слайса.
А если места не достаточно, остается только через образ слайса? Наверное,
можно, аккуратно рассчитав смещения, перенести раздел в неразмеченную
область диска (dd .. of=/ad0 skip=xx ..), но ведь при переносе неизбежно
затрется конец переписываемого раздела.Можно ли заставить dd писать "с конца" блока?
>>можем получить размер слайса - можем
>>можем скопировать слайс побайто - dd if=/dev/adXsY of=slice.img - можем
>>ну а дальше понятно. для страховки можно сохранить компии суперблока/ов
>>
>>ps. все остальное как было сказано - береженого бог бережет
>
>Эксперименты в "песочнице" (qemu) завершились вполне удачно.дык ку-ему для этого НЕОБЯЗАТЕЛЬНО, есть md/mdconfig - быстро и без
дополнительных телодвижений>Загрузившись с live-cd просто создал fdisk'ом слайс точно такого же размера
>в неразмеченной области и тупо скопировал раздел в раздел командой
>dd if=/dev/ad0s1 of=/dev/ad0s2 bs=1M. После чего ad0s1 прибил. Этого
>оказалось достаточно. Грузится отлично (ну, ясно, новый / при первой загрузке
>переписывается вручную). В общем, надо было про qemu вспомнить раньше :))
>
>Остался еще вопрос, впрочем, вероятно, риторический. Такое решение подходит,
>если на диске достаточно места для создания непересекающегося слайса.
>А если места не достаточно, остается только через образ слайса? Наверное,дык поэтому я сразу и написал dd с of=image, ибо без понятия о разметке
>можно, аккуратно рассчитав смещения, перенести раздел в неразмеченную
>область диска (dd .. of=/ad0 skip=xx ..), но ведь при переносе неизбежно
>
>затрется конец переписываемого раздела.
>
>Можно ли заставить dd писать "с конца" блока?sources в наличии - посмотри, поправь если нужно, лучше использовать НАДЕЖНЫЕ,
проверенные и железно работающие МЕТОДЫ - опыт показывает что БЫСТРЕЙ получается. :)
>дык ку-ему для этого НЕОБЯЗАТЕЛЬНО, есть md/mdconfig - быстро и без
>дополнительных телодвижений
Черт! Ну ведь было у меня dejavu, что можно и проще!!! Спасибо, пригодится еще.>sources в наличии - посмотри, поправь если нужно, лучше использовать НАДЕЖНЫЕ,
>проверенные и железно работающие МЕТОДЫ - опыт показывает что БЫСТРЕЙ получается. :)
Да, пожалуй. Нужно быстро, поэтому видимо, воспользуюсь старым, проверенным
dump/restore. Если девайс для dump'а отыщется поблизости и захочет работать
с ноутбуком.Тема закрыта, еще раз спасибо!