Как изменить размер одного из primary partitions?
villoso 26 июня, 2008 - 14:30
Привет всем!
Надеюсь на помощь умудренных жизнью линуксоводов.
Есть винчестер 160гб, разбитый следующим образом -
heffalump:/home/galina# fdisk -l Disk /dev/hda: 160.0 GB, 160041885696 bytes 255 heads, 63 sectors/track, 19457 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa71ea71e Device Boot Start End Blocks Id System /dev/hda1 1 34 273073+ 83 Linux /dev/hda2 35 4864 38796975 5 Extended /dev/hda3 4865 9963 40957717+ 83 Linux /dev/hda4 * 9964 19457 76260555 7 HPFS/NTFS /dev/hda5 35 642 4883728+ 83 Linux /dev/hda6 643 1007 2931831 83 Linux /dev/hda7 1008 1195 1510078+ 82 Linux swap / Solaris /dev/hda8 1196 1244 393561 83 Linux /dev/hda9 1245 4864 29077618+ 83 Linux This disk has both DOS and BSD magic. Give the 'b' command to go to BSD mode. heffalump:/home/galina# df -h /dev/hda1 259M 231M 14M 95% / tmpfs 507M 0 507M 0% /lib/init/rw udev 10M 200K 9,9M 2% /dev tmpfs 507M 0 507M 0% /dev/shm /dev/hda9 28G 15G 11G 58% /home /dev/hda8 373M 11M 343M 3% /tmp /dev/hda5 4,6G 3,5G 954M 79% /usr /dev/hda6 2,8G 2,1G 579M 79% /var /dev/hda3 39G 17G 20G 46% /mnt/bonus /dev/hda4 73G 25G 49G 34% /mnt/win
hda1,3,4 - primary partitions, а hda5,6,7,8,9 лежат в extended разделе hda2.
Проблема в /dev/hda1 - свободного места осталось 14Мб.
Хочу увеличить размер hda1 до 700 Мб.
На hda9, hda3, hda4 дофига свободного места в концах, можно отрезать.
Есть внешний USB HDD 40Gb, если он может как-то помочь.
Пытался грузиться с лайвЦД, далее Gparted, уменьшаю один из логических дисков в extended, который hda2, получаю кусок свободного места, но уменьшить размер hda2 на это свободное место не получается (Gparted не дает).
Как быть?
Спасибо если кто поможет.
»
- Для комментирования войдите или зарегистрируйтесь
Это может
Это может оказаться сложным и опасным для данных. Я бы на вашем месте нашел винчестер куда можно скопиравать все даные и бекап системы, удалил все разделы на этом и создал заново так как удобно.
Никогда не делайте логические разделы. От них много прорблем.
..................................................................
Unix - дружественная система, но своих друзей она хорошо выбирает.
.
C какими вы сталкивались? Я обычно всегда делаю один primary и много-много логических.
Если вы хотите
Если вы хотите юзать много разделов то лучше используйте lvm2
И резайзить lvm тома проще намного к тому же на лету мона
PS или можете юзать gpt таблицу разделов
___________________________________________
Gentoo GNU/Linux 2.6.25 GCC 4.3.1
Working on Gentoo for iPAQ hx4700 :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
Эт ладно, но как
Эт ладно, но как быть в данной ситуации? Я не слишком силен в таких делах..
Можно ли будет сделать так (/dev/sda1 - внешний HDD на 40Гб) - сначала загрузка с лайвцд, а там
dd if=/dev/hda1 of=/mnt/sda1/hda1-backup (это /)
dd if=/dev/hda5 of=/mnt/sda1/hda5-backup (это и все что ниже - содержимое extended раздела)
dd if=/dev/hda6 of=/mnt/sda1/hda6-backup
dd if=/dev/hda7 of=/mnt/sda1/hda7-backup
dd if=/dev/hda8 of=/mnt/sda1/hda8-backup
dd if=/dev/hda9 of=/mnt/sda1/hda9-backup
(все это как раз на 37гб будет)
потом в Gparted убить extended раздел /dev/hda2 со всем содержимым, увеличить размер /dev/hda1 на 440мб, и потом создать заново extended раздел /dev/hda2 и скопировать обратно все от /dev/hda5 до /dev/hda9, только hda9-backup копирнуть обратно с уменьшенным размером (в конце там довольно много свободного места):
dd if=/mnt/sda1/hda5-backup of=/dev/hda5
dd if=/mnt/sda1/hda6-backup of=/dev/hda6
dd if=/mnt/sda1/hda7-backup of=/dev/hda7
dd if=/mnt/sda1/hda8-backup of=/dev/hda8
dd if=/mnt/sda1/hda9-backup of=/dev/hda9 count=(29077618-901120)
тут, как я понимаю 29077618 - исходный размер hda9, а 901120 - 440мб блоками по 512байт
сработает ли это?
очень важно чтобы данные не потерялись...
Quote:Пытался
А кусок свободного места "скраю" экстендеда появился? Или может между разделами просто. Покажи fdisk после ресайза лог. раздела.
А вообще чтобы добиться желаемого результата тебе нужно hda5 уменьшить и переместить
т.е.
Было (нижняя строчка - "внутренности extended")
Стало
И уже затем менять размер extended.
Как уже было замечено дело это рисковое.
так и делал
Ага, я именно так и делал. Только там же как - Gparted сначала записывает изменения, а уже потом когда жмакнешь "применить" - по порядку их "применяет". Я привел hda2 к тому виду, как ты и пишешь, но hda2, хоть там и было свободное пространство в самом начале - изменить было нельзя, хоть ты тресни. Так я и не стал "применять" эти изменения, т.е. физически таблицу разделов не менял. Это имеет значение?
А чем оно рисковое? Gparted крив или другие причины?
-Alex-
Тем, что
Тем, что напрямую вносятся изменения в структуру ФС, которая достаточно сложна, чтобы там можно было где-то ошибку допустить.
чем это рисково ..
Рисково тем, что в любом случае (хоть на Windows, хоть на Linux) при изменении размеров разделов, данные должны куда-то временно переносится. А потом, когда раздел готов -- назад. Так вот не все данные и не всегда могут успешно временно переместиться, особенно если места на диске мало. Правда есть еще и дисковый резерв -- свободное место на диске, недоступное ни для системы ни для пользователя, в обычном режиме. Оно используется для переноса данных с тех участков пластин, которые "посыпались". Но ведь не факт, что GParted или PM корректно используют эту фичу и не факт что там тоже хватит места.
Так что, если не получилось сразу спланировать, лучше сделать нормальный бэкап на другой винчестер, а этот разметить заново. Или просто переместить все на другой, бОльший винчестер.
да... каких
да... каких только чудес не услышиш.
резервное пространство для бедблоков весьма мало и его может использовать только одна прогамма - сама прошивка диска.
сложность перемещения в данной ситуации в следующем - так как информация о разделе и ФС на нём находится в начале раздела, то его конец можно двигать лего и непринуждённо а вот начало - нет. А если это расширенный раздел, есть риск (весьма большой) убить все расширенные разделы разом, и из-за неправильного переноса и из-за неправильного редактирования MBR в такой сложной ситуации.
А если вот такую затею реализовать?!
Блин, а если не париться, и сделать так -
0) грузануться с лайвЦД
а) копирнуть тупо hda1 посредством dd куда-нибудь, хоть на резервный винт, хоть в файл в /home
б) потом уменьшить размер партиции hda3 скажем на один гиг
в) удалить нафиг весь старый hda1
г) сделать на месте свободного места, оставшегося после уменьшения hda3, новую основную партицию
д) копирнуть в эту свежесделанную партицию (уже гиговую) образ hda1
е) в fstab поправить, если чего поменяется
сработает такой метод?
и черт с ним, что будет свободный кусок на 260 мб в начале диска
Ставили после
Ставили после виндовоза... :)
у винды какие-то свои взгляды на разметку диска. extendended-раздел должен быть N4. должно быть не более 3 primary разелов. все остальное в extended. т.е. систмный раздел винды должен быть 1,2,или 3. поэтому нужно загрузиться с live-cd и поправить нумерацию разделов. это можно сделать с помощью fdisk -> расширенное меню. и переместить один примари в экстендед. поправить загрузчик и /etc/fstab.
это не проблема
это не проблема винды а аграничение MBR который она создаёт - не более 4х разделов, размером не более 2х терабайт. потом выдумали расширенные разделы и в них засунули ещё разделов.
Верно
Не она только, это еще дядки из IBM придумали давно.
Есть кстати другие типы таблиц разделов, которые линукс поддерживает. Правда я с ними не пробовал работать.
PS: Хотя вру, пробовал работать с виндовым "динамическим диском". Там посути уже другая таблица разделов используется. Нормально виделось и работало в линухе.
Я gpt юзаю =) Мне
Я gpt юзаю =)
Мне она больше нравится =)
___________________________________________
Gentoo GNU/Linux 2.6.25 GCC 4.3.1
Working on Gentoo for iPAQ hx4700 :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
И чем всё это кончилось, типа отчет.
Короче говоря, генту-вей или проще - линукс-вей не сложился. Так и не понял я, получится оно или не получится.. Соваться или не соваться, а данные дОроги, терять более чем жалко. Размер партиции был изменен посредством Acronis Disk Director Suite. Уменьшил размер одного из больших разделов на гиг, сделал из свободного места еще одну партицию, переместил старую корневую партицию в эту свежесозданную, а старую грохнул. теперь пустых 260 мб в начале диска (и бог с ними). Всё в ёлочку. А мораль сей басни такова - под корневой раздел отводить не менее гига, а лучше - полтора-два, чтобы не иметь заморочек в будущем.
скорее всего,
скорее всего, при установке чего-либо в /opt/ исчерпалось свободное место в корне, проще было даже сделать контейнер гига на 2 с ФС на лобом разделе, слить содержимое /opt/ туда и подмонтировать в /opt/.
а ещё лучше
а ещё лучше делать 3 раздела - /boot / и swap. или юзать LVM/EVMS если осень хочется иметь много раздельчиков