Как я изменяю размер раздела окон, не используя gparted?

RIS последовательность (\ec) действительно не очищает историю (Ошибка 171598), но в KDE 4 существует другая последовательность, которая действительно конкретно очищает историю: \e[3J - Ошибка 158235.

7
27.07.2015, 17:34
3 ответа

GPARTED часто стоит использовать, потому что он помогает избежать нескольких неприятных ошибок. Я предполагаю, что основным преимуществом инструментов командной строки здесь является больше видимости деталей. Это может быть полезно в неожиданно хрупких ситуациях (по крайней мере, как только она сломана, детали могут помочь вам реализовать почему). Однако я бы не рекомендовал использовать их другим, если они не хотят, чтобы они могли учиться на ошибках до «Мой диск, теперь полны нулей, и мне нужно начать с нуля».

Также процесс установки на рабочем столе Linux должен предоставить удобный для пользователя инструмент для размера раздела Windows. (Или официальная документация). Это общий случай. Это было бы моей первой рекомендацией в целом.

Все эти варианты рекомендуют сделать резервные копии в случае любой ошибки .

Смущает вас не следует использовать , расставленный инструмент командной строки . Раньше это было удобным вариантом, но разработчики больше не поддерживают размер файловых систем.


В противном случае вы используете NTFSRESIZE , затем удалите и повторно создайте раздел ( FDISK ) с той же деталями, за исключением размера. Beward Units - некоторые инструменты используют MB; Другие могут сказать МБ, но имею в виду MIB. FDISK использует Mib и NTFSRESIZE MB. Ленивый способ состоит в том, чтобы NTFSRESIZE на гораздо меньше, чем нужно (например, 2x), то после воссоздания раздела вы запускаете NTFSRESIZE во второй раз без явного размера.

Для жесткого пути для преобразования единиц вы можете запускать числовые выражения в Bash. Например. Чтобы увидеть 10гиб в байтах: ECHO $ ​​((10 * 1024 * 1024 * 1024)) . Вы можете использовать эти выражения как аргументы в инструменты командной строки, такие как NTFSRESIZE .

Имя раздела для NTFSRESIZE будет выглядеть / dev / sda1 . LSBLK -F будет перечислять все разделы (включая ваш загрузочный диск) со своим размером и рассказать вам о файловой системе. FDISK захочет название диска, как / dev / sda .

Для MBR детали раздела для воссоздания являются: тип раздела и «активный» / загрузочный флаг, а также запуск смещения. [1] FDISK должен по умолчанию отображать смещение раздела в секторах. (Если нет, могут быть фракции, которые не показаны - возможно, обозначены + на конце, но там может быть ловушка - вы должны быть уверены, что всегда используйте FDISK в режиме секторов).

Чтобы избежать набора ошибок внутри FDISK , я иногда выбираю номера + вставьте их со средней кнопкой мыши. Это требует либо X Windows, либо в текстовом режиме вам нужна GPM . Я думаю, что это менее распространенно предоставлять GPM на консоли по умолчанию, но она там, когда я использую Clonezilla Live. Это удобно, но вы, вероятно, можете потерять номер первым. Таким образом, вы, вероятно, должны написать исходное смещение раздела вниз перед его удалением.


[1] GPT использует другой формат для типа, добавляет еще несколько флагов и раздел UUID. Я не думаю, что они обычно будут важны; Флаги не применятся к основным разделам Windows, и раздел UUID еще не используется.

7
27.01.2020, 20:13

Вам нужны NTFSRESIZE утилита из NTFS- Пакет 3G , который может изменить размер файловой системы NTFS. Однако обязательно сделайте резервную копию раздела, прежде чем внести какие-либо изменения, поскольку иногда могут выглядеть другие идеи того, как должен выглядеть измененные раздел.

Резервное копирование может быть удобно выполнено с помощью Utility NTFSCLONE (тот же пакет), поскольку это сохраняет только файловую систему (то есть содержимое файла и метаданные), а не весь раздел:

ntfsclone -s -o windows-partitinon.img /dev/sdXY

, если Вы туго на дисковом пространстве и / или имеют много времени, сжимая изображение - это хорошая идея:

ntfsclone -s -o - /dev/sdXY | xz -v -9 > windows-partitinon.img.xz

Остерегайтесь, что для умеренно полных Windows система Раздел (не так много пользовательских данных), скажем, ~ 40 ГБ, Это может занять несколько часов, в зависимости от уровня сжатия). С другой стороны, вы также можете получить около 40-30% несжатого размера.

Помимо этого, не забудьте резервное копирование раскладки разделов, чтобы иметь возможность выполнять полное восстановление. Если вы используете таблицу разделов MBR без каких-либо логических разделов, все, что вам нужно, это MBR пострадавшего устройства:

dd if=/dev/sdX bs=512 count=1 of=mbr.sav

Если логические Partitinos присутствуют, по крайней мере, сохраняют текстовое описание, например:

fdisk -l -u s /dev/sdX > partitions.sav

для GPT, вы можете использовать GDISK , который имеет возможность сохранять данные GPT в файл, а затем загрузить его обратно.

Затем вы можете запустить NTFSRESIZE в режиме записи. Скорее всего, это скажет вам перезагрузку до Windows (возможно несколько раз), чтобы убедиться, что изменения зарегистрированы ОС.

Только после всего этого сделано, вы можете изменить размер раздела (ы). Разлагаются , вероятно, так же хорошо, как и любая другая разбивная программа, которая понимает, что схема разделения, используемая на этом жестком диске.

4
27.01.2020, 20:13

Вот памятка для изменения размера раздела NTFS с помощью командной строки с помощью ntfsresize (из пакета ntfs-3g / ntfsprogs ) и fdisk , который должен работать для версий Windows XP-to-8. Обратите внимание, что GParted делает все следующее для MBR / DOS, а также для дисков EFI / GPT, если установлен ntfs-3g / ntfsprogs . Мои ссылки в конце.

Хорошо, в этом сценарии у меня есть 149-гигабайтный диск с MBR-разделами и одним единственным разделом NTFS (Windows C :). Я изменю его размер до 20 ГБ (как хорошо сказал @sourcejedi: BEWARE UNITS), чтобы освободить место для новых разделов, например. Данные и / или другая ОС.

Предварительное условие

  • Очистить файловую систему NTFS : инструменты NTFS на основе Linux откажутся касаться файловой системы NTFS, если она уже не полностью согласована, чтобы свести к минимуму вероятность потери данных. В противном случае необходимо использовать ntfsfix (из Linux) или chkdsk / f (из Windows).
  • Сделайте резервную копию важных данных (например, используя ntfsclone, как @peterph написал выше)
  • Узнайте, какое устройство и раздел я хочу изменить, в данном случае / dev / sdb1.

А. Сжать файловую систему

  1. Проверьте устройство, чтобы убедиться, что оно готово к изменению размера:

     ~ ntfsresize --check / dev / sdb 
     

    Здесь должно быть любое предупреждение адресовано перед дальнейшей обработкой.

  2. Проверьте размер этой файловой системы, который можно изменить до:

     ~ ntfsresize --info / dev / sdb 
    > ... 
    > Вы можете изменить размер на 16865632256 байт или 16866 МБ (освобождает 112060 МБ). 
    > ... 
     
  3. Протестируйте , как будет работать сжатие до 18 ГБ (мы сделаем это 20 ГБ за минуту):

     ~ ntfsresize --no-action --size 18G / dev / sdb1 
    > ... 
    > Тестовый запуск только для чтения завершился успешно. 
     
  4. Изменить размер до 18 ГБ:

     ~ ntfsresize -v --size 18G / dev / sdb1 
    > ... 
    > Размер NTFS на устройстве '/ dev / sdb1' успешно изменен. { {1}}> Вы можете сжать устройство, например, с помощью Linux fdisk. 
    > ВАЖНО: при воссоздании раздела убедитесь, что вы 
    > 1) создаете его на том же диске сектор (используйте сектор в качестве единицы!) 
    > 2) создайте его с тем же типом раздела (обычно 7, HPFS / NTFS) 
    > 3) не делайте его меньше, чем новая файловая система NTFS size 
    > 4) установите флаг загрузки для раздела, если он существовал до 
    > В противном случае вы не сможете принять ss NTFS или не удается загрузиться с диска! 
    > ... 
     

Совет: если на диске есть известные проблемы, такие как поврежденные сектора, добавьте ' - bad -sectors 'вариант.

Б. Измените размер раздела

На предыдущем шаге мы уменьшили файловую систему, а не раздел, как мы можем проверить с помощью:

~ disktype /dev/sdb

> Block device, size 149.1 GiB (160041885696 bytes)
> DOS/MBR partition map
> Partition 1: 149.1 GiB (138602266624 bytes, 8459611 clusters of 16 KiB, bootable)
> Volume size 18.37 GiB (20799750144 bytes, 1269516 clusters of 16 KiB)

Как видите, размер тома и значение раздела различаются, при этом Раздел 1 все еще заполняет привод. На этом этапе необходимо удалить раздел и создать раздел меньшего размера, соответствующий новому размеру файловой системы NTFS.Поскольку на моем диске есть таблица разделов DOS / MBR, я сделаю это с помощью fdisk (@peterph имеет ответ для GPT выше):

~ fdisk /dev/sdb
  1. Удалите раздел

    Введите 'p ', чтобы отобразить разделы на этом диске и отметить, какой из них содержит файловую систему с измененным размером.

    Набрав 'd', вы спросите, какой раздел вы хотите удалить

    > Команда (m для справки): d 
    > номер раздела (1-3, последний по умолчанию): 1 {{1 }} 
  2. Воссоздайте раздел

    Теперь воссоздайте раздел меньшего размера, оставив его основным и первым в порядке:

    > Команда (m для справки): n 
    > Действие команды 
    > e расширенный 
    > p первичный раздел (1–4) 
    p 
    > номер раздела (1–4): 1 
    > первый цилиндр (1-31, по умолчанию 1): 1 
     

    Поскольку я уменьшил файловую систему до 18 ГБ, давайте сделаем раздел 20 ГБ:

    > Последний цилиндр или + size, или + sizeM, или + sizeK (1 -31, по умолчанию 31): + 20G 
     

    Мы знаем, что файловая система - NTFS, поэтому используйте команду action 't' для типа и указанный шестнадцатеричный код '7' для NTFS:

    > Command (m для справки): t 
    > Выбранный раздел 1 
    > Шестнадцатеричный код (введите L для отображения кодов): 7 
    > Изменен системный тип раздела с 1 по 7 (HPFS / NTFS) 
     
  3. Затем я хочу убедиться, что раздел по-прежнему помечен как загрузочный :

    > Команда (m для help): p 
    Device Boot Start End Blocks Id System 
     / dev / sdb1 63 40644449 40644387 7 HPFS / NTFS 
     

    Сделайте новый раздел загрузочным, добавив флаг загрузки :

    > Команда (m для справки): a 
    > Номер раздела (1-4): 1 
     
  4. Записать измененную таблицу разделов на диск и выйти из fdisk с помощью команда action 'w':

    > Команда (m для справки): w 
     
  5. Теперь окончательное изменение размера файловой системы

    ntfsresize без переключателя 'size' гарантирует, что он использует все доступное пространство раздела (целиком и не более - спасибо @sourcejedi)

     ~ ntfsresize -v / dev / sdb1 
     

Теперь мы можем проверить , разделы и файловые системы на диске находятся в паре:

~ disktype /dev/sdb
> ...
> Partition 1: 20.0 GiB (21474836480 bytes, 40644387 sectors from 63, bootable)
> Type 0x07 (HPFS/NTFS)
> Windows NTLDR boot loader
> NTFS file system
> Volume size 19.98 GiB (21453361644 bytes, 1269516 clusters of 16 KiB)

Ссылки

13
27.01.2020, 20:13

Теги

Похожие вопросы