У меня есть Виртуальная машина Ubuntu 19.04, и я соединяюсь с нею ssh.
Я должен изменить размер раздела начальной загрузки.
# fdisk -l
Disk /dev/sda: 300 GiB, 322122547200 bytes, 629145600 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc59d8598
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 487423 485376 237M 83 Linux
/dev/sda2 487424 629143551 628656128 299.8G 83 Linux
Я люблю изменять размер sda1 к 1024M и не могу использовать живой CD.
на моем VM я - пользователь root.
Я думаю, что должен изменить размер корневого раздела sda2 и переместить его вперед и затем изменить размер sda1.
Нуждаюсь в небольшой помощи, чтобы сделать эту операцию.
Я не имею, находят любой вопрос как мой: только пример на одном корневом разделе (sda2) и без потребности переместиться это делает пространство к разделу начальной загрузки (sda1)
можно ли помочь?
с уважением,
Leonardo
P.S. Я не имею к потерянным данным по разделу :-)
Я обнаруживаю, что мой поставщик позволил мне запустить системный спасательный CD на своем vm, таким образом, у меня есть весь vm размонтированный раздел, но я нахожусь в командной строке.
Я могу сделать задание теперь?
Я имею, успешно изменяют размер / раздела начальной загрузки, увеличивают его и корневой раздел уменьшения на Виртуальной машине с помощью соединения SSH.
У меня есть/dev/sda1 (/начальная загрузка)
и/dev/sda2 (/) корень
Сначала должен загрузиться на некоторых, любят живой CD. Мой поставщик позволил мне использовать систему начальной загрузки системного спасательного CD. Таким образом на моем поставщике vps панель управления у меня есть опция загрузиться в системном спасательном CD и после того, как я делаю я могу соединиться с ним ssh в том же IP моего vps.
Прежде чем я сделаю это на своем хосте, я делаю:
$ mv /home/<username>/.ssh/known_hosts /home/<username>/.ssh/known_hosts.bak
для предотвращения моей системы пытаются соединиться с удаленным хостом с помощью rsa сертификат.
В задании конца я делаю $ mv /home/<username>/.ssh/known_hosts.bak /home/<username>/.ssh/known_hosts
восстановить предыдущее поведение.
# umonunt /dev/sda1
# umonunt /dev/sda2
# e2fsck -f /dev/sda2
проверять фс # resize2fs /dev/sda2 200G
(уменьшение)... The filesystem on /dev/sda2 is now xxxxx (4k) blocks long. ...
где xxxxx является числом. Вы имеете к нескольким xxxxx * 4, чтобы получить yyyyy новый размер в k и помнить это# fdisk /dev/sda
(тип m для справки)Partition #2 contains a ext4 signature Do you want to remove the signature? [Y]es/[N]o:
Теперь необходимо переместить корневой раздел направо.
Необходимо определить a new_start_sector
перемещаться.
# fdisk -l
и получите последний сектор/dev/sda1 (/, раздел начальной загрузки) выдвигают гипотезу число zzz
сделайте 1024*1024*1024/512 и получите одного ГБ в секторе и добавьте к zzz для получения a new_start_sector
(zzz + (1024*1024*1024/512))
сделайте сценарий удара как это:
#!/bin/sh
partition=/dev/sda2
disk=/dev/sda
sector_size=512
new_start_sector=2584575
exit 1 # drop this line exit 1 after you have change 2584575 using zzz calculate before by you
# opos is right after the new partition and given in bytes
opos=$(($new_start_sector * $sector_size + `blockdev --getsize64 $partition`))
echo "doing dd_rescue -v -r -S $opos $partition $disk"
dd_rescue -v -r -S $opos $partition $disk
Теперь Вы имеете корневой раздел перемещения, но должны установить корректную таблицу разделов.
# fdisk /dev/sda
(тип m для справки) new_start_sector
определенный преждеPartition #2 contains a ext4 signature Do you want to remove the signature? [Y]es/[N]o:
Теперь измените размер корневого раздела:
# e2fsck -f /dev/sda2
проверять фс
# resize2fs /dev/sda2
Теперь удалите раздел начальной загрузки и сделайте его больше:
# fdisk /dev/sda
(тип m для справки) new_start_sector
- 1Partition #1 contains a ext4 signature Do you want to remove the signature? [Y]es/[N]o:
Теперь измените размер раздела начальной загрузки:
# e2fsck -f /dev/sda1
проверять фс
# resize2fs /dev/sda1
Я перезапустил, и все были в порядке.
Я делаю эту команду на системном спасательном CD, и при перезапуске всей истории не стало так, я пытаюсь помнить все для записи там.
Будьте осторожны, вычисляют сектор и байт для использования в моем примере.
Весь этот пример сделан поиском на Google различные решения
один
два
три
и больше...
помните?
$ mv /home/<username>/.ssh/known_hosts.bak /home/<username>/.ssh/known_hosts
с уважением,
Leonardo