danikcom
написал 20 марта 2006 года в 13:32 (940 просмотров)
Ведет себя
как мужчина; открыл 52 темы в форуме, оставил 132 комментария на сайте.
Нужно переразбить разделы на HDD, как это сделать (не удаляя linux)? Обычно пользовался Partition Magic из под винды, но это я сначала разбивал разделы, а потом ставил linux. Сейчас же допустим в том же Partition Magic кнопка Resize на Linux разделы не активна, а на Windows разделы активна. Возможно ли както переразбить в данном случае?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
пытаешь сделать resize кому разделу? корневому?
короче на все linux разделы resize не доступен, на fat32 разделы — доступен. Хочу перекинуть часть раздела с fat32 на ext3
это какие разделы?
напиши точно.
/- ext3, /home — ext3
/- ext3 — какой утилитой расширить его, я не знаю. по-моему, это вообще не возможно. Почему /home — ext3 не расширяется при помощи виндовой утилиты, не понятно. а чем тебе fdisk не люб?
если честно, то я боюсь им пользоваться! :) а им это возможно? данные не повредятся?
http://www.nixp.ru/soft/system_hdd
если честно забзипь весь раздел с никсой с кнопикса например скопни куда-нибудь и перебей партишенем спокойно — по опыту если начал бить диск партишеном им и добивай :)
100 % гарантии никто дать не может;)
что это значит? у меня RHEL
тебе предлагают воспользоваться Live CD дистрибутивом Knopix для разбиения диска, чтобы в консоли не ковыряться. А в RH нет какой-нибудь графической утилиты, которая может партиции двигать? ты искал?
тебе страшно использовать fdisk или маны читать не хочшь?
еще можно посоветовать cfdisk. он, типа, гуевый…
В 4-м Кноппиксе, вроде, gparted есть. Симпатичная утилитка.
да у меня стоит qtparted (графическая), а проблема не решена…
dis123, ты сразу пиши источник проблемы, а? что не получается? не можешь изменить размер /home?
ну я же уже все объяснил… да, не могу увеличить размер /home, не могу перекинуть часть гигов с / на /home и с fat32 на /home…
вывод fdisk -l в студию, с комментариями что, откуда и куда надо перекинуть. И, подробно: как ты пытался это сделать, то есть последовательность твоих действий.
# fdisk -l
Disk /dev/hda: 40.0 GB, 40017485312 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 1120 8996368+ c W95 FAT32 (LBA)
/dev/hda2 1121 3212 16803990 c W95 FAT32 (LBA)
/dev/hda3 3213 4494 10297665 83 Linux
/dev/hda4 4495 4865 2980057+ 83 Linux
Disk /dev/hdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 6006 48243163+ c W95 FAT32 (LBA)
/dev/hdb2 * 6007 19457 108045157+ c W95 FAT32 (LBA)
мне нужно допустим перекинуть 1G с hda2 на hda4 и 2G с hda3 на hda4
Хотел это сделать либо Partition Magic из под винды, либо QTParted из под линух, это графические проги, и я уже говорил что в них кнопка Resize на линукс разделы не активна, для того чтобы изменить размер разделов. Хотя виндовз разделы изменять между собой можно…
dis123, я же тебе писал, что корень ты не сможешь увеличить/сократить, а твой /home, как я понимаю, находится в конце диска. куда его расширять?
не получиться у тебя твой финт, к сожалению…
значит последовательность действий, должна быть примерно следующая:
1) уменьшить размер hda2 на 1G
2) уменьшить hda3 на 2G
3) сместить hda3 на 3 гига к началу диска, вплотную к hda2
4) теперь сместить hda4 к hda3
5) вот теперь можно будет увеличить hda4.
то что PM не умеет работать с ext3 меня не удивляет. QParted — не знаю. Попробуй просто parted — вроде как он умеет. Либо, придётся изменять размер fs тулзой resize2fs, а размер раздела fdisk’ом. PM, насколько я помню, не различает эти размеры, QTParted, если его интерфейс содран с pm, вполне вероятно тоже. Но ежели пользоватся fdisk и resize2fs, то придётся различать, но там всё просто: главное, что, в процессе всех эволюций (и в их результате), раздел не должен становиться меньше чем размер fs находящейся в нём.
ЗЫ. вот что сообразил: может они не умеют работать с ext3, предпочитая ext2? Отломай журнал у hda4 (man tune2fs на предмет `-j’), после изменений приделаешь обратно.
ты оказался прав! Решил проверить, отломал журнал, залез в QTParted и оказалось что с ext2 можно делать Resize.
Только вот тепер
вопрос1: так чтоже такое журнал, зачем он нужен и почему его нету в ext2?
вопрос2: если я отламаю журнал, переразобью разделы, приделаю обратно журнал, данные не повредятся на этих разделах?
вопрос3: как быть с корневым разделом? читал, что перед тем как ext3->ext2 раздел должен быть несмонтирован.
журнала в ext2 нету, потому что это ext2 которая не журналируемая(-ющая?) файловая система.
нет. Просто, журнал, в случае повреждения фс, снижает вероятность потери данных. Точнее больше вероятность восстановить целостность без потери данных. Но это относится к ситуации с незавершёнными «нормальными» операцими, типа записи в файл, создания/удаления файла и тп. Изменение размера фс к списку «нормальных» не относится. Так что, если что-то пойдёт наперекосяк, то журнал тебя всё равно не спасёт, даже если бы он и был.
грузани систему с live-cd.
можно по подробнее? что это за live-cd? он для каждого дистрибутива свой или для всех одинаков? У меня RHEL и где его найти
фактически, можно и без перезагрузки, и без live-cd.
переходишь в init 1.
копируешь содержимое /bin, /sbin, /lib в каталог, находящийся не на корневом разделе.
делаешь
# chroot этот_каталог
и отмонтируешь раздел /
вообще, там надо бы ещё и pivot_root использовать.. в его мане это описано…
и далее уже меняешь размер разела.
а этот pivot_root обязательно использовать? я просто не знаю что это такое?
и еще вопрос:
если делаю # chroot этот_каталог, отмонтирую корневой, перезагружаю комп, при следующей загрузке куда я попаду — в корневой раздел или в тот который я сделал как # chroot этот_каталог? хотя наверное никуда т.к. не будет /boot?
Просто я хочу вот что сделать:
1.отмонтировать корневой раздел
2.переделать его с ext3 в ext2
3.потом либо из под винды Partition Magic-ом либо QTParted под линухом переразбить разделы
4.переделать коневой раздел с ext2 в ext3 и примонтировать его обратно
это как нить реально сделать?
лень человеческая — штука коварная…
НУ СЛОЖНО, ЧТО ЛИ, ПРОЧИТАТЬ «man pivot_root» и получить объяснение????
или это мне тут сделать, для некоторых ленивых?
ты /etc/fstab меняешь? нет? тогда какие вопросы? :)
или ты при этом параметры загрузки ядра меняешь? нет? ну тогда с чего ты при загрузке должен попасть в другое место?
ps: кстати, если используется lilo, то надо до перезагрузке неколько действий выполнить….
использовать init 1 или можно просто выйти из графического режима и работать в консоли (в данном случае init 3)?
что то я не совсем понял — нужно ли ипользовать то что ты написал:
«копируешь содержимое /bin, /sbin, /lib в каталог, находящийся не на корневом разделе. делаешь
# chroot этот_каталог»
если в man pivot_root сказано что для изменения root file system нужно использовать именно эту функцию — pivot_root
example:
mount /dev/hda1 /new-root
cd /new-root
pivot_root . old-root
exec chroot . sh dev/console 2>&1
umount /old-root
У меня GRUB, нужны ли какието дополнительные действия до перезагрузки?
P.S. что есть exec в строке exec chroot?
нет ты поищи всё-таки какую-нибудь доку про runlevels, и почитай чем init 1 отличается от init 3. разница есть.
Если номера разделов не изменяться, то никаких спец действий не надо.
так что насчет:
нужно ли ипользовать:
«копируешь содержимое /bin, /sbin, /lib в каталог, находящийся не на корневом разделе. делаешь
# chroot этот_каталог»
если в man pivot_root сказано что для изменения root file system нужно использовать именно эту функцию — pivot_root
example:
mount /dev/hda1 /new-root
cd /new-root
pivot_root . old-root
exec chroot . sh dev/console 2>&1
umount /old-root
или можно вообще сделать так:
1. «копируешь содержимое /bin, /sbin, /lib в каталог, находящийся не на корневом разделе. делаешь
# chroot этот_каталог»
2. в /etc/fstab, меняю / на /этот_каталог
если теперь перезагрузить комп, что будет?
а можно ли сделать так:
1. делаю резервное копирование tar-ом всего корневого раздела.
2. удаляю корневой раздел и переразбиваю диск
3. устанавливаю Линукс
4. переписываю весь корневой раздел из tar-а на только что созданный (чтобы не настраивать все настройки по новой)
Можно ли так сделать и будет ли так работать? Если да то какие нюансы при этом могут быть?
В общем виде так и есть:
5. Исправляем /etc/fstab — разбивка диска будет же другая
6. Загружаемся с live cd и запускаем lilo (из chroot) чтобы поставить загрузчик в MBR
если же разделы не поменялись, а поменялись только их размеры, то получается нечего исправлять /etc/fstab?
а можно сдесь по подробнее?
1.где мне можно скачать этот live cd, можно ли почитать где инфу по его использованию?
2. И если можно, опиши, как запустить lilo (из chroot) чтобы поставить загрузчик в MBR?
3. И еще вопрос, а если я использую Grub, а не Lilo?
да
Есть <font color=«blue»>SystemRescueCd</font>. Можно использовать install-диск дистрибутива, если в нем есть функция rescue console или что-то в этом роде.
Загружаемся с live cd
1. монтируем в /mnt/ Linux-раздел HDD
2. chroot /mnt
3. lilo
4. exit
5. reboot
В 3-м шаге вместо lilo: grub-install /dev/hdХ
а зачем запускать lilo из chroot?
получается что для grub надо указивать раздел /dev/hdХ, а для lilo нет?
для Grub нужно указывать раздел где находится /boot?
как минимум, чтобы lilo взял нужный конфиг
для Grub нужно указывать диск на который он устанавливается
а по умолчанию куда устанавливается grub? на тот диск куда устанавливается корневой раздел?
По умолчанию никуда не устанавливается.
Диск куда ставить — обязательная опция для grub-install.
Запусти его без параметров — увидишь.
Почитай man grub-install
а, диск! это имеется ввиду если стоит несколько винчестеров, то на какой из них? например /dev/hda? я правильно понял?
ну ведь он же кудато устанавливается при инсталляции Linux?
да
куда он устаналивается — указывается из инсталятора
Хочу еще раз уточнить, правильно ли я собираюсь сделать следующее:
1. делаю резервное копирование tar-ом всего корневого раздела с сохранением на другой раздел (в моем случае на ФС vfat).
2. удаляю корневой раздел и переразбиваю диск
3. загружаюсь с SystemRescueCd и мотирую новый пустой раздел, например /dev/hda3
4. переписываю весь корневой раздел из tar-а на этот /dev/hda3
5. делаю команду #grub-install /dev/hda
6. #reboot
Все ли верно и будет ли работать загрузчик?
Вроде правильно.
grub-install /dev/hda — я бы делал из chroot /mnt/hda3
а почему? я ведь получается всеравно перепишу «grub-config» из tar-а и получается вроде как его запущу или нет?
А если даже через chroot, то получается что у меня уже будет коневой раздел на /dev/hda3 и мне его снова придется примонтировать, только уже в /mnt/hda3 и как chroot?
В 3-м шаге ты примонтировал пустой раздел в /mnt/hda3
потом распаковываешь tar туда
затем