Установка на VHD или иной виртуальный диск

safocl
ну сказано же чо неудобно делать через логический том...
VHD не занимает разметку диска разделом....
полетит реальный и хана разделам в любом случае
Ну так это все умеет LVM, и данные с диска спасаются, даже физический диск заменяется без выключения\рестарта машины. И это родная линуксовая штука, читать которую умеют и ядро и граб.

safocl
как дальше ядро будет монтировать енти VHD разделы?
Как пропишешь в /etc/fstab так смонтирует. Другой вопрос, что драйвер для чтения VHD будет находиться на самом VHD (казус Мюнхаузена), но ведь для того и существует initramfs. Сделаешь хук, соберешь образ initrd
heider
Как пропишешь в /etc/fstab так смонтирует. Другой вопрос, что драйвер для чтения VHD будет находиться на самом VHD (казус Мюнхаузена), но ведь для того и существует initramfs. Сделаешь хук, соберешь образ initrd
объясню популярно... смотри,ядро в корне реального диска, оно в какую папку будет монтировать VHD диск с системой??? в корень реального диска не сможет, ибо будет перезатирание всего чо находится там, и ядра в том числе, но т.к. оно не сможет себя перезатереть, то и не выполнит команду. придется создавать папку, в которую монтируется VHD? но тогда как будут интерпритироваться директории в рут, /? /mnt/?

heider
Ну так это все умеет LVM, и данные с диска спасаются, даже физический диск заменяется без выключения\рестарта машины. И это родная линуксовая штука, читать которую умеют и ядро и граб.
ага, но вроде винда не умеет... а надо чо бы умела.
всё не читал лень... но шаблоны вам поломаю чутка
safocl
в корень реального диска не сможет
overlayfs

а есть ещё это и это

эт так для общего развития...
Ошибки в тексте-неповторимый стиль автора©
safocl
в корень реального диска не сможет,
Почему не сможет? Обычный /dev/sda1 может, а виртуальный вдруг не сможет?

Ты чуток не разобрался, как происходит инициализация. Ядро в память грузит граб, до того, как примонтирован корневой раздел. При этом, сам файл ядра может находиться где угодно, хоть на пекинском серваке и грузиться по сети. Ему вовсе необязательно быть на устройстве с корнем. После загрузки ядра происходит монтирование корневого раздела. Это монтирование ничего не может "затереть" ибо еще ничего и нет, разве что initrd, если он есть. Само ядро находится в ОЗУ, а файл с ядром на этом этапе уже не нужен. Можешь проверить на какой-нибудь виртуалке, удалив во время работы файл с ядром, все будет прекрасно работать до самой перезагрузки.

Если ФС из тех, которые умеет читать ядро, то все нормально и initrd, в принципе, не нужен, но если ФС какая-нибудь экзотическая, например, твой VHD, то получается, что ядро не может примонтировать его ибо не может загрузить нужные драйвера, ведь корень еще не примонтирован. Для этого придумали initramfs, куда ты можешь накидать разных файлов, которые нужны до монтирования корня. Образ initrd грузится в ОЗУ вместе с ядром и временно монтируется как корневой раздел, чтобы была возможность примонтировать реальный корень, после того, как нужные драйвера загружены, этот временный корень с initrd уже не нужен и мы его смело "затираем" монтированием основного корня.
И еще. Grub ничего не монтирует. Всмысле, вообще ничего. Он только загружает. Чтобы хоть что-то примонтировать, нужно работающее ядро в ОЗУ.
heider
с initrd уже не нужен и мы его смело "затираем" монтированием основного корня
не.. всё таки мы его umount на**г и потом из озу.

Ошибки в тексте-неповторимый стиль автора©
indeviral
не.. всё таки мы его umount на**г и потом из озу.
Ну да, просто пытался говорить на языке топикстартера. )
heider
Почему не сможет? Обычный /dev/sda1 может, а виртуальный вдруг не сможет?

Ты чуток не разобрался, как происходит инициализация. Ядро в память грузит граб, до того, как примонтирован корневой раздел. При этом, сам файл ядра может находиться где угодно, хоть на пекинском серваке и грузиться по сети. Ему вовсе необязательно быть на устройстве с корнем. После загрузки ядра происходит монтирование корневого раздела. Это монтирование ничего не может "затереть" ибо еще ничего и нет, разве что initrd, если он есть. Само ядро находится в ОЗУ, а файл с ядром на этом этапе уже не нужен. Можешь проверить на какой-нибудь виртуалке, удалив во время работы файл с ядром, все будет прекрасно работать до самой перезагрузки.
ну ты предлагаешь каждую загрузку копировать ядро???
смотри чо я там имел ввиду если так не могешь допетрть, почти нарисую...
в корне физического раздела лежат vhd, grub и ядро с инитрд: /linux.vhd /grub/* и /vmlinuz /initrd.img
если ты монтируешь: mount /linux.vhd / , то должно все на / затереться смонтированными данными.... т.к. VHD диск находится там же он не сможет сам себя перезатереть... как он сможет смонтировать сам себя в папку с самим собой и затереться??? оО
heider
после того, как нужные драйвера загружены, этот временный корень с initrd уже не нужен и мы его смело "затираем" монтированием основного корня.
очень логично))) и каждый раз копируя новый?? хатя я выше объяснил почему енто не возможно в принцыпе
heider
И еще. Grub ничего не монтирует. Всмысле, вообще ничего. Он только загружает. Чтобы хоть что-то примонтировать, нужно работающее ядро в ОЗУ.
имелось ввиду чо бы grub читал из VHD...
загрузчик винды же монтирует получается VHD??? если он загружает с него
 
Зарегистрироваться или войдите чтобы оставить сообщение.