连字符/破折号“-”符号在 Linux bash /dir + GRUB 启动中的使用

连字符/破折号“-”符号在 Linux bash /dir + GRUB 启动中的使用

我正在尝试完成这个 GitHub 教程,为我希望安装 Ubuntu 的顽固 Asus Win8.1 笔记本电脑创建自定义 GRUB 加载程序:

https://github.com/lopaka/instructions/blob/master/ubuntu-14.10-install-asus-x205ta.md

(参见屏幕截图,蓝色突出显示的文本)

../grub-mkimage -d

假设我已遵循教程中的所有步骤,

这组命令是否指示机器创建../grub-mkimage目录, 或者它是否告诉机器转到该../grub目录并在其中创建/引用-mkimage文件?

(完整的 bash 命令直接从我所指的教程中提取,仅供参考):

../grub-mkimage -d . -o bootia32.efi -O i386-efi -p /boot/grub ntfs hfs appleldr boot cat efi_gop efi_uga elf fat hfsplus iso9660 linux keylayouts memdisk minicmd part_apple ext2 extcmd xfs xnu part_bsd part_gpt search search_fs_file chain btrfs loadbios loadenv lvm minix minix2 reiserfs memrw mmap msdospart scsi loopback normal configfile gzio all_video efi_gop efi_uga gfxterm gettext echo boot chain eval

无论如何,这就是我一直被困住的地方。

一旦我到达这一点,机器不会采取进一步的操作,而是确认该目录在那里:

../grub/grub-mkimage: Is a directory

当我尝试前进并输入下一个命令时:

cp bootia32.efi /tmp

机器回复:

cp 无法 stat 'bootia32.efi':没有这样的文件或目录

看起来长命令 [ ../grub-mkimage -d...] 没有安装执行这些进程所需的项目。

所以,如果没有别的事的话……

  1. 连字符部分的./user/location/folder-HyphenatedNameExtension实际含义是什么?这只是意味着它是该文件夹中的一个文件,对吗?

  1. 如何在不破坏某些内容的情况下重新启动../grub-mkimage -d...长命令?恢复我的系统并重新开始是否明智?

答案1

您给出的命令序列将克隆grub存储库,将当前目录更改为git( cd grub) 新创建的目录,构建grub,将目录更改为grub-core,并运行grub-mkimage父目录中的可执行文件。

更明确地说,如果您从主目录开始(我想它是/home/evan):

  • git clone ...创建一个新目录 ,/home/evan/grubgrub在其中克隆 的存储库;
  • cd grub将目录更改为/home/evan/grub
  • 接下来的三个命令 build grub
  • cd grub-core将目录更改为/home/evan/grub/grub-core
  • ../grub-mkimage ...尝试运行grub-mkimage存储在/home/evan/grub(当前目录仍然存在/home/evan/grub/grub-core)中的命令。

..简单来说就是父目录,../grub-mkimage意思是“运行grub-mkimage父目录中的程序”。执行该命令时,当前目录为/home/evan/grub/grub-core,父目录为/home/evan/grub

我运行了上面列出的命令,并且构建对我来说运行良好:../grub-mkimage ...创建了预期的bootia32.efi文件。

要“重新启动”命令,我想说最简单的方法是删除grub目录并从头开始git clone

相关内容