Как переупорядочить меню grub --автоматически установить курсор в первом меню?

Если вы хотите переместить файлы в той же хост-системе, что, как я полагаю, вы делаете со своим mv, rsyncможет быть более быстрым вариантом:

rsync -av --inplace -W /source/??????????_a1ac*.jpg /home/ubuntu/ntest/

--inplaceи -Wустановлены для ускорения процесса.

Если это приведет к другой ошибке слишком длинный список аргументов , тогда вы можете передать списки вrsync

Сделать список с помощью find, например

find. -maxdepth 1 -type f -name '??????????_a1ac*.jpg' > /tmp/my_image_list.txt

и передатьrsync

rsync -av --inplace -W --files-from=/tmp/my_image_list.txt /path/to/files /home/ubuntu/ntest/

Источником здесь является /path/to/files, потому что rsyncбудет рассматривать список, который вы ему даете, как относящийся к вашему источнику.


Точка:rsyncбыстрее, чем mv, если файлы не находятся в одной и той же файловой системе .

1
06.05.2021, 13:55
2 ответа

Вы можете просто использоватьgrub-customizer(https://packages.debian.org/buster/grub-customizer)без необходимости возиться с файлами grub из официальных репозиториев Debian, что отлично делает то, что вы хотите:

Move entries

Set default entry

Вы можете установить его с помощью synapticграфического интерфейса, который входит в стандартную установку Debian.

Также не забудьте сохранить изменения в grub-customizer.

1
28.07.2021, 11:34

Связанный вопрос:как -сделать -я -изменить --личинку -загрузку -порядок

Ссылка:

  1. https://olinux.net/change-grub-boot-order-linux/
  2. https://askubuntu.com/questions/100232/how-do-i-change-the-grub-boot-order
  3. https://wiki.debian.org/GrubConfiguration
  4. https://www.linuxquestions.org/questions/debian-26/grub2-debian-squeeze-change-boot-order-906606/

Я пишу тот ответ, который показался мне полезным.

sudo gedit /etc/grub.d/10_linux

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

linux_entry ()
{
  os="$1"
  version="$2"
  recovery="$3"
  args="$4"
  if ${recovery} ; then
    title="$(gettext_quoted "%s, with Linux %s (recovery mode)")"
  else
    title="$(gettext_quoted "%s, with Linux %s")"
  fi
  printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
  if ! ${recovery} ; then
      save_default_entry | sed -e "s/^/\t/"
  fi

Пока эти строчки выглядят как в моем посте

linux_entry ()
{
  os="$1"
  version="$2"
  type="$3"
  args="$4"

  if [ -z "$boot_device_id" ]; then
      boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
  fi
  if [ x$type != xsimple ] ; then
      case $type in
      recovery)
          title="$(gettext_printf "%s (Kernel: %s - recovery mode)" "${os}" "${version}")" ;;
      fallback)
          title="$(gettext_printf "%s (Kernel: %s - fallback initramfs)" "${os}" "${version}")" ;;
      *)
          title="$(gettext_printf "%s (Kernel: %s)" "${os}" "${version}")" ;;
      esac
      if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
      replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
      quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
      title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
      grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
      fi
      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
  else
      echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
  fi      
  if [ x$type != xrecovery ] && [ x$type != xfallback ] ; then
      save_default_entry | grub_add_tab
  fi

Я совсем новичок в Shell. Вот почему я не вношу никаких изменений.

Если вы хотите изменить название ядер из разделов, отличных от основного раздела, то вы хотите отредактировать

/etc/grub.d/30_os-proberфайл

в этом разделе:

linux)
      LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
      prepare_boot_cache=

      for LINUX in ${LINUXPROBED} ; do
        LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
        LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
        LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"
        LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
        LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
        LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`"

        if [ -z "${LLABEL}" ] ; then
          LLABEL="${LONGNAME}"
        fi

    if [ "${LROOT}" != "${LBOOT}" ]; then
      LKERNEL="${LKERNEL#/boot}"
      LINITRD="${LINITRD#/boot}"
    fi

        cat << EOF
menuentry "${LLABEL} (on ${DEVICE})" --class gnu-linux --class gnu --class os {
EOF

Вот ссылка на ответ .

0
28.07.2021, 11:34

Теги

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