Используйте sed, чтобы заменить корневой аргумент в записях grub номерами разделов.

У меня есть следующий grub.cfg

# Automatically created by OE
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
default=boot
timeout=10

menuentry 'boot'{
linux /bzImage LABEL=boot root=/dev/ram0  rootwait console=ttyS0,115200 console=tty0 
initrd /initrd
}

menuentry 'install'{
linux /bzImage LABEL=install-efi root=/dev/ram0  rootwait console=ttyS0,115200 console=tty0 
initrd /initrd
}

Мне нужно заменить root с его UUID.

root_part_uuid=$(blkid -o value -s PARTUUID ${rootfs})
swupdate_part_uuid=$(blkid -o value -s PARTUUID ${swupdatefs})

Когда я выполняю следующую команду sed, она заменяет корневой аргумент одним и тем же значением, мне нужно заменить первый корневой аргумент следующим

sed -i "s/ root=[^ ]*/ root=PARTUUID=$root_part_uuid rw $rootwait quiet "  grub.cfg

Второй корневой аргумент с swupdate_part_uuid.. Как я могу добиться этого..

0 ответов

Другие вопросы по тегам