Меню Рубрики

Установка archlinux на vmware workstation


This article is about the latest major VMware versions, meaning VMware Workstation Pro and Player 15, 14 and 12.5.

You may also be interested in VMware/Installing Arch as a guest. For older versions, use the vmware-patch AUR package.



You can either install using VMware bundle or package vmware-workstation AUR . The latter is preferred if using VMware Workstation on x86_64.

VMware bundle

Download the latest VMware Workstation Pro or Player (or a beta version, if available).

For the System service scripts directory , use /etc/init.d (the default).

Package build for x86_64

Install vmware-workstation AUR , vmware-workstation14 AUR , vmware-workstation12 AUR or vmware-workstation11 AUR for respectively versions 15, 14, 12 and 11 of VMware Workstation. It is also necessary to install the appropriate headers package(s) for your installed kernel(s): for example linux-headers or linux-lts-headers .

Then, as desired, enable some of the following services:

  • vmware-networks.service for guest network access
  • vmware-usbarbitrator.service for connecting USB devices to guest
  • vmware-hostd.service for sharing virtual machines

Lastly, load the VMware modules:


Kernel modules

VMware Workstation 15.5 supports kernel 5.3 out of the box. Older versions 14.1.7 and 12.5.9 have native support for kernels up to 4.18 and 4.12, respectively.

For VMware bundle versions, a collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, vmware-host-modules. See the INSTALL document found on the repository for the most up-to-date module installation instructions for VMware Workstation versions from 12.5.5 and up.

Alternatively, the modules can be patched installing the vmware-patch AUR package and executing:

systemd services

(Optional) Instead of using /etc/init.d/vmware ( start|stop|status|restart ) and /usr/bin/vmware-usbarbitrator directly to manage the services, you may also use .service files (also available in the vmware-systemd-services AUR package, and also included in vmware-patch AUR and vmware-workstation AUR with a few differences):

Add this service to enable networking:

Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:

After which you can enable them on boot.

Workstation Server service

The vmware-workstation-server.service calls wssc-adminTool in its command chain, despite having been renamed to vmware-wssc-adminTool .

To prevent the service startup, this can be fixed with a symlink:

Launching the application

To open VMware Workstation Pro:

Tips and tricks

Entering the Workstation Pro license key

From terminal

Where XXXXX-XXXXX-XXXXX-XXXXX-XXXXX is your license key.

From GUI

If the above does not work, you can try:

Extracting the VMware BIOS

Extracting the installer

To view the contents of the installer .bundle :

Using the modified BIOS

If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to

then adding the name to the Virtual_machine_name.vmx file:

Enable 3D graphics on Intel and Optimus

Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling Accelerate 3D graphics, the log may show something like:

The config file where you can set this setting is

System speedup tricks

Disable transparent hugepages

If you notice the guest and/or the host frequently freezing when running a VM, you may want to disable transparent hugepages. To disable them for the current session, run (on the host):

To make the change persistent across boots, add the kernel parameter transparent_hugepage=never .

Ensure direct RAM access

By default, VMware writes a running guest system’s RAM to a file on disk. If you’re certain you have enough spare memory, you can ensure the guest OS writes its memory directly to the host’s RAM by adding the following to the VM’s .vmx :


Kernel headers for version 4.x-xxxx were not found. If you installed them[. ]

USB devices not recognized

If not using the systemd service to automatically handle the services, you need to manually start the vmware-usbarbitrator binary as root each time.

Incorrect login/password when trying to access VMware remotely

VMware Workstation provides the possibility to remotely manage Shared VMs through the vmware-workstation-server service. However, this will fail with the error «incorrect username/password» due to incorrect PAM configuration of the vmware-authd service. To fix it, edit /etc/pam.d/vmware-authd like this:

Читайте также:  Установка бесплатного антивируса нод

and restart the vmware systemd service.

Now you can connect to the server with the credentials provided during the installation.

Issues with ALSA output

To fix sound quality issues or enabling proper HD audio output, first run:

If interested in playing 5.1 surround sound from the guest, look for surround51:CARD=vendor_name,DEV=num , if experiencing quality issues, look for front:CARD=vendor_name,DEV=num . Finally put the name in the .vmx :

Kernel-based Virtual Machine (KVM) is running

To disable KVM on boot, you can use something like:

Module Issues

/dev/vmmon not found

This means that at least the vmmon module is not loaded. See the #systemd services section for automatic loading.

/dev/vmci not found

Try to recompile VMware kernel modules with:

Installer Fails to Start

If you just get back to the prompt when opening the .bundle , then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the uninstallation section of this article):

User interface initialization failed

You may also see an error like this:

This can be fixed by either installing the ncurses5-compat-libs AUR dependency or temporarily allowing root access to X:

VMware Fails to Start

Module CPUIDEarly power on failed

Version 14 has stricter CPU requirements than version 12. If you try to start a virtual machine with an affected CPU, the following message will appear:

The solution is to uninstall version 14 and install version 12 ( vmware-workstation12 AUR ).

Segmentation fault at startup due to old Intel microcode

Old Intel microcode may result in the following kind of segmentation fault at startup:

See Microcode for how to update the microcode.

vmplayer/vmware version 14 fails to start

On systems with librsvg version 2:2.44.0 and above, the log files (located in /tmp/vmware- ) show several instances of the following error:

A workaround is to downgrade librsvg to earlier version, or more preferably, force VMware to use its own shipped version of librsvg :

VMware also has a VMWARE_USE_SHIPPED_LIBS variable:

vmplayer/vmware fails to start from version 12.5.4

As per [1] the temporary workaround is to downgrade the package libpng to version 1.6.28-1 and keep it in the IgnorePkg parameter in /etc/pacman.conf.

An easier workaround is to make VMWare use the system’s version of zlib instead of its own one:

vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5

It seems to be a problem with the file /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 , missing CXXABI_1.3.8 .

If the system have installed gcc-libs , that library is already installed. Therefore, it’s possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:

Also there is a workaround:

vmware 12 process terminates immediately after start, no GUI is launched

Registered bug at Mageia, but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in /tmp/vmware- , there are VMWARE_SHIPPED_LIBS_LIST is not set , VMWARE_SYSTEM_LIBS_LIST is not set , VMWARE_USE_SHIPPED_LIBS is not set , VMWARE_USE_SYSTEM_LIBS is not set issues. Process simply terminates with Unable to execute /usr/lib/vmware/bin/vmware-modconfig. after vmware or vmplayer is executed. Solution is the same, as root do:

Also there is a workaround:

Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:

Instead of copying all these files manually, you may want to try exporting an additional setting:

On systems with fontconfig version 2.13.0 and above, it may be needed to force VMware to use the shipped libfontconfig file instead of the newer system file. In such case, it is also necessary to provide a shared object library file libexpat.so.0 for the shipped fontconfig. This applies for at least VMware version 12.5.9. As root do:

Читайте также:  Установка планки примыкания к дымоходу

Guest Issues

Unable to download VMware Tools for Guests

To download the tools manually, visit the VMware repository.

Navigate to: «application name / version / build ID / linux / packages/» and download the appropriate Tools.

And install using the VMware installer:

If the above does not work, try installing ncurses5-compat-libs AUR .

Guests have incorrect system clocks or are unable to boot: «[. ]timeTracker_user.c:234 bugNr=148722»

This is due to incomplete support of power management features (Intel SpeedStep and AMD PowerNow!/Cool’n’Quiet) in VMware Linux that vary the CPU frequency. In March 2012, with the release of linux 3.3-1 the maximum frequency Performance governor was replaced with the dynamic Ondemand. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.

To prevent this, the maximum host CPU frequency can be specified, and Time Stamp Counter (TSC) disabled, in the global configuration:

Networking on Guests not available after system restart

This is likely due to the vmnet module not being loaded [2]. See also the #systemd services section for automatic loading.

Strange mouse wheel behavior on Guest

This is related to the current Xorg keyboard layout on Host system. Keep primary layout (e.g., English) selected on Host while working on Guest.


To uninstall VMware you need the product name (either vmware-workstation or vmware-player ). To list all the installed products:

and uninstall with ( —required skips the confirmation):

Remember to also disable and remove the services:


Установить Arch на виртуальную машину

Захотелось перечислить основные телодвижения, которые потребовались от меня, что бы установить ArchLinux на виртуалку.

Желания души и тараканы в голове, ну и активность некоторых товарищей, привели меня к тому что я захотел поставить на виртуальную машину Arch Linux.

Скачал я образ установочного диска с сайта арча
используя torrent ссылку.

Затем подключил к только что созданной виртуальной машине. Загрузился с него. И началось.

Перво-наперво зачем-то проверил, а не загрузилось ли ядро в EFI

Оказалось нет такого, вздохнул с облегчением и пошёл дальше.

Хоть я и русско говорящий решил пока для консоли оставить умолчальную keymap US.

Соединение с интернетом проверил пингом

пинговалось нормально вот я и успокоился.

Для системных часов сделал несколько телодвижений. Включил синхронизацию

и выбрал свою временную зону

Весь список временных зон можно посмотреть так

Дело дошло до разметки диска, решил это сделать утилитой parted. Схема была такая:

раздел файловая система размер
Загрузочный /boot ext2 200MiB
Подкачки swap swapfs 1024MiB
Корневой / ext4 12388MiB
Домашний /home ext4 Остатки

Утилиту parted можно запустить без параметров, она покажет своё приглашение и затем можно будет вводить команды. Кстати, при запуске без параметров она мне написала, что использует мой виртуальный диск
Using /dev/sda
Первая моя команда была
(parted) help
Для того, чтобы увидеть разделы на текущем диске вводим
(parted) print
Наш диск пока девственно чист, поэтому создаём таблицу разделов
(parted) mklabel msdos
После этого можно начать создание разделов, все разделы будут primary
(parted) mkpart primary 1MiB 200MiB
(parted) mkpart primary 200MiB 1224MiB(parted) mkpart primary 1224MiB 13612MiB
(parted) mkpart primary 13612MiB 17708MiB
Можно для проверки результата разбивки опять ввести команду print
Результат разбивки немного отличается от ожидаемого, но нам и так сойдёт
Первый раздел пометим как загрузочный
(parted) set 1 boot on
Теперь можно выйти из утилиты parted

Перейдём к созданию файловых систем

Перед установкой базового пакета смонтируем разделы диска в нужные директории

Список зеркал на которых находится базовый пакет можно не править, перейдём к установке

У меня установка прошла успешно.

Выведите его содержимое в консоль

В нём должны быть перечислены все четыре раздела диска которые мы создавали

Изменим корень загруженной системы на нашу только что установленную

Сгенерируем корректировку системных часов

Раскомментируем нужные строки в нём, например следующие

Команды редактора nano вводятся как сочетания клавиш с Ctrl
сохранить Ctrl + O
закрыть Ctrl + X

Создадим записи об имени машины в файлах

Вписываем туда просто имя машины, я выбрал такое

дописываем в конце строк, которые начинаются как

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

Это для меня в самый раз, созданная виртуальная машина как бы подключена к серверу автоматически раздающему адреса. Похожая ситуация будет для стационарного компьютера который подключён к домашнему роутеру.

Создадим стартовый RAM диск

Зададим админский пароль для новой системы

Для загрузки системы я выбрал загрузчик GRUB, установим его

Инсталлируем загрузчик GRUB

У меня процессор i5, поэтому я ещё установлю пакет intel-ucode

И включу обновление микрокода процессора в файле /boot/grub/grub.cfg
В этом файле нужно найти строки

Измените их следующим образом

Теперь можно выходить из новой системы

Размонтировать всё что монтировали

После перезагрузки моя система работала, и пинговала адрес
Установка всего полезного оставим на потом.


Asia Systems

HPE. HPI. Dors. Сервисный центр работает с 1993 года

Установка Arch Linux на виртуальную машину

Создание виртуальной машины

Замечание Используется VMWare Server
  • Название: desktop
  • ОС: Linux operating system → Other Linux 64-bit
  • Объём ОЗУ: 1024 М
  • Кол-во процессоров: 1
  • Диск:
    • Объём: 8 ГБ
    • Выделить место сразу: да
  • Сеть: Bridged
  • USB: нет
  • Floppy: нет
  • CD/DVD: загрузочный образ Arch Linux (archlinux-2013.05.01-dual.iso)

Базовая установка ОС Arch Linux

Загрузиться с установочного диска и выбрать “Boot Arch Linux (x86_64)”. Подготовить жёсткий диск:

  1. Вывод списка определившихся жёстких дисков
  2. Разметка жёсткого диска (см. ниже)
  3. Проверка разметки жёсткого диска
  4. Форматирование разделов
  5. “Форматирование” раздела под swap
  6. Подключение swap
  7. Подключение раздела root
  8. Создание точки подключения для раздела boot
  9. Подключение раздела boot

Далее, настроить сетевое подключение:

  1. Вывод списка устройств PCI
  2. Проверка состояния драйвера
  3. Вывод имён сетевых устройств
  4. Вывод текущего IP-адреса интерфейса enp2s0

Если в сети присутствует сервер динамических адресов (DHCP server), то:

Если сервера DHCP нет, то настроить сетевое подключение вручную. Остановить сервер динамических адресов, настроить IP-адрес и шлюз по умолчанию:

  1. Остановка DHCP
  2. Добавление IP-адреса
  3. Добавление шлюза по умолчанию
  4. Указание сервера имён (DNS)
  5. Проверка доступа в Интернет

Настроить репозитарий ПО, изменив файл /etc/pacman.d/mirrorlist так, чтобы первая строка файла указывала на ближайший репозитарий, например http://mirrors.st.uz/archlinux/$repo/os/$arch. Во избежание переключения на другие репозитарии в случае ошибки подключения к основному, пересоздать файл /etc/pacman.d/mirrorlist с указанием только тех репозитариев, которые должны использоваться:

Подсказка Если в распоряжении имеется другая система с Arch Linux в актуальном состоянии, то для ускорения процесса скачивания необходимого ПО можно переписать содержимое кэша менеджера пакетов pacman из действующей актуальной системы в новую, устанавливаемую. Например:root@archiso

# scp root@other_system:/var/cache/pacman/pkg/* /mnt/var/cache/pacman/pkg/

Возможно, на действующей системе кэш менеджера пакетов будет содержать множество устаревших версий ПО, поэтому, перед копированием, следует очистить его от старых файлов командой “pacman -Sc”

Запустить базовую установку системы:

По окончанию установки, сконфигурировать систему

  1. Установка ПО загрузчика
  2. Cоздание и редактирование файла /etc/fstab
  3. Смена корневого окружения
  4. Создание файла с именем узла (пример: webserver)
  5. Редактирование файла /etc/hosts
  6. Настройка часового пояса
  7. Настройка локализации
  8. Создание initial ramdisk
  9. Установка и настройка загрузчика (grub)
  10. Установка сервера SSH
  11. Установка пароля пользователя root
  12. Выход из корневого окружения
  13. Отключение диска
  14. Перезагрузка системы

После перезагрузки, настроить заново сетевое подключение, запустить демон openssh и дальнейшую работу продолжать уже в более комфортных, чем локальная консоль, условиях:

Открыть удалённую сессию на установленной системе.

Создать файл /etc/systemd/system/network.service и настроить автозапуск сетевых сервисов:

Поддержка графического режима

Установить необходимые пакеты ПО и драйверы устройств:

  1. Установка базовых пакетов Xorg
  2. Определение модели видеокарты
  3. Вывод списка доступных видео-драйверов (open-source)
  4. Установка подходящего видео-драйвера
  5. Установка простых X-приложений для проверки графического окружения
  6. Установка шрифтов
  7. Настройка поддержки X-Windows через SSH

Дополнительные замечания

В системах с drm-модулем, например, с видеокартами Intel, загрузка этого модуля приводит к появлению нового устройства фреймбуфера (/dev/fb0 и т.д.) с повторной инициализацией консоли со сбросом шрифта. В результате, консольный шрифт может не отображаться правильно. Всё что нужно сделать – это обеспечить старт drm-модуля заведомо раньше загрузки шрифта. Для этого, в файле “/etc/mkinitcpio.conf” добавить значение “drm” в директиве “MODULES” и пересоздать образ initramfs командой “mkinitcpio -p linux”.


Перезагрузить систему, открыть удалённую сессию, проверить работу графического режима.

Конечным результатом является система, готовая к дальнейшим модификациям под выбранное назначение.


Добавить комментарий