Як розширити первинний розділ (/ dev / sda1) в Linux?


7

У мене проблема, у мого основного розділу не вистачає місця. Через це я не можу віддалено отримати доступ до машини Linux (через vncserver). У мене є ще один привід (/ dev / sdb), який має набагато більше вільного місця. Я хочу зменшити простір з (/ dev / sdb) і поширити на (/ dev / sda1) розділ, який є моїм основним розділом і мати всі завантажувальні файли Linux, ядро ​​тощо. Який найкращий спосіб зробити це без ризику, не втрачаючи своїх даних на первинному накопичувачі (/ dev / sda1) ?? fdisk або команда 'dd' або 'mount and umount'? Будь-яка допомога буде дуже вдячна. :)

Відповіді:


5

Ви повинні використовувати resize2fsкоманду, яка використовується для зміни розміру вашого розділу.

Для отримання додаткової інформації перейдіть за цим посиланням.

http://www.howtoforge.com/linux_resizing_ext3_partitions

Наприклад:

 resize2fs /dev/sda 6000M

Ви можете використовувати resize2fsдля збільшення, а також для зменшення розміру розділу. По-перше, ви повинні зменшити розмір. /dev/sdbПотім, після збільшення розміру /dev/sda(Первинний розділ).

Я сподіваюся, що це допоможе вам.


Перш ніж змінити розмір розділу, слід відключити розділ файлу.
сб

Я впевнений, що його основний розділ використовує максимум, який він може, і, отже, не зможе змінити розмір базової файлової системи. Таким чином, простий Resize2fs вийде з ладу.
Доланор

2

Шлях без ризиків може бути, якщо ви можете скопіювати (дзеркально) всі свої дані з / dev / sda1 в інший розділ.

Після цього я рекомендую перейти з живим компакт-диском GParted і виконати звідти всі команди, що змінюють розділ. Здається, це найбезпечніший спосіб зробити це.


0

Вам потрібна операційна система CD / temp для завантаження на неї, зміна розміру нового розділу до потрібного розміру, встановлення старих і нових розділів та спочатку скопіюйте файли за допомогою

cp -avx /media/originalRootPartition /media/newRootPartition

Потім слід змінити деякі посилання (UUID або ім’я розділу) на новий розділ у / etc / fstab, щоб відповідати новому розділу, та встановити повторно grub на цьому новому розділі:

grub-install /dev/sdb1

Після тривалого роздуму я вирішив не розширювати або зменшувати жоден розділ, як я, використовуючи екземпляр Linux Amazon EC2. Вони додають 8 ГБ основного розділу за замовчуванням. Після розширення типу екземпляра (оновлення екземпляра) вони дали нам інший розділ замість розширення останнього (основний розділ). Щоб уникнути майбутніх проблем, я перенесу всі встановлені програмні засоби, такі як сервер додатків (Glassfish), мій SQL-сервер тощо на вторинний розділ. Тепер проблема полягає в тому, як я можу переміщувати мої конкретні дані замість повних даних диска, використовуючи команду 'dd': наприклад, dd, якщо = / dev / sda1 of = / dev / sdb

і встановити вторинний диск (наприклад, / dev / sdb) для подальшої установки. Начебто, якщо в майбутньому мені подобається встановлювати будь-яке програмне забезпечення, його слід за замовчуванням встановити на вторинний диск замість основного розділу. як я можу це зробити?

Чи можете ви створити для цього нове запитання? У коментарі не вистачає місця для коментаря, і якщо редагувати моє запитання, це недійсно для вашого конкретного питання цієї сторінки;) Відповідь буде з mount --bind/ usr та / var та робити речі "офлайн";)
Доланор

0

Надані відповіді, здається, не враховують, що вільне місце у вас є на іншому диску.

Я не думаю, що ви можете легко поширити розділ на інший фізичний диск, хоча я можу помилятися. У будь-якому випадку, в цьому випадку більш простою справою є постійно mountперегородка з іншого диска (скажімо /dev/sdb1) у вашу файлову систему. Наприклад, ви можете зберегти ваш /homeON /dev/sdb1. Це дозволило б створити деякий простір у /dev/sda1. Подивіться, fstabяк цього досягти, і не забудьте спершу створити резервну копію.


Після тривалого роздуму я вирішив не розширювати або зменшувати жоден розділ, як я, використовуючи екземпляр Linux Amazon EC2. Вони додають 8 ГБ основного розділу за замовчуванням. Після розширення типу екземпляра (оновлення екземпляра) вони дали нам інший розділ замість розширення останнього (основний розділ). Щоб уникнути майбутніх проблем, я перенесу всі встановлені програмні засоби, такі як сервер додатків (Glassfish), мій SQL-сервер тощо на вторинний розділ. Тепер проблема полягає в тому, як я можу переміщувати мої конкретні дані замість повних даних накопичувача, використовуючи команду 'dd': наприклад, dd, якщо = / dev / sda1 of = / dev / sdb

і встановити вторинний диск (наприклад, / dev / sdb) для подальшої установки. Начебто, якщо в майбутньому мені подобається встановлювати будь-яке програмне забезпечення, його слід за замовчуванням встановити на вторинний диск замість основного розділу. як я можу це зробити?

@Haseeb Моя порада все ще стоїть, я б просто створив пару розділів на /dev/sdbі монтував, скажімо, /dev/sdb1як /usrі /dev/sdb2як /homeі т. Д. Що стосується переміщення, використовуйте mvкоманду.
Лев Левицький

0

Я часто використовую для серверів, які працюють протягом декількох років і зараз виходять з космосу цей спосіб вирішення:

Зазвичай для однієї або двох додатків / служб / демонів / того, що коли-небудь ... потрібно найбільше простору. Якщо у цьому випадку ви можете змонтувати, перемістіть каталог з диска sda на диск sdb, тож ви використаєте більше місця.

ось що я роблю: створити каталог на порожньому диску

mkdir /mountpointsdb/data/deamon_database

тепер нам просто потрібно скопіювати всі дані з вихідної папки в "/ mountpointsdb / data / deamon_database"

cp /usr/deamon/database/* /mountpointsdb/data/deamon_database

тепер ми можемо видалити оригінальну папку, але переконайтеся, що Deamon хоче запустити. Це дасть вам більше вільного місця на sda. Після цього просто встановіть нову папку на старе місце та запустіть deamon:

mount --bind /mountpointsdb/data/deamon_database /usr/deamon/database

Якщо ви хочете, щоб це було постійним, вам слід зробити такий запис у mtab:

/mountpointsdb/data/deamon_database    /usr/deamon/database    none    bind
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.