MacBook Air 2018 하드웨어에 단일 부팅 Kali Linux를 설치했습니다.
모든 것이 제대로 작동하도록 몇 가지 문제를 해결한 후 문제가 발생했습니다.
부팅하기 전에 시작음을 비활성화하려고 합니다. 전형적인 맥북 사운드.
Apple 문서에서 터미널에서 실행되는 사운드를 수정할 수 있다는 것을 발견했습니다.
sudo nvram SystemAudioVolume=%80
그러나 nvram
Linux에서는 이 명령을 사용할 수 없지만 nvramtool
.
man 을 읽으면 nvramtool
모든 coreboot 매개변수를 실행할 수 있지만 nvramtool -a
명령 출력은 다음과 같습니다.
nvramtool: coreboot table not found. coreboot does not appear to be
installed on this system.
그래서 몇 가지 조사 끝에 efivar
EFI 변수를 수정할 수 있는 프로그램을 발견했습니다.
입력하면 efivar -l | grep -i SystemAudioVolume
Apple()이 나타내는 변수가 SystemAudioVolume
다음 값으로 표시됩니다.
7c436110-ab2a-4bbb-a880-fe41995c9f82-SystemAudioVolume
이제 입력하세요.
efivar --print --name 7c436110-ab2a-4bbb-a880-fe41995c9f82-SystemAudioVolume
나는 다음과 같은 결과를 얻습니다.
GUID: 7c436110-ab2a-4bbb-a880-fe41995c9f82
Name: "SystemAudioVolume"
Attributes:
Non-Volatile
Boot Service Access
Runtime Service Access
Value:
00000000 69 |i |
편집하다
macOS Mojave용 부팅 가능한 USB 플래시 드라이브를 만들려고 합니다.
Mac을 켜고 키를 삽입한 후 " altcan I"를 누르고 있으면 설치 프로세스가 시작됩니다. 거기서 인스턴스를 가져와서 실행해 볼 수 있습니다 Terminal.app
. nvram
하지만 Apple 문서에서 알 수 있듯이 관리자 권한이 필요하다고 생각합니다.
실행하려고 하면 nvram -p
모든 변수 목록이 표시되고 실행 nvram -p | grep -i SystemAudioVolume
하면
7c436110-ab2a-4bbb-a880-fe41995c9f82-SystemAudioVolume=i
입력 nvram SystemAudioVolume=%80
하고 다시 실행 nvram -p | grep -i SystemAudioVolume
하면
7c436110-ab2a-4bbb-a880-fe41995c9f82-SystemAudioVolume=%80
하지만 재부팅 후에도 소리가 계속 나고 설치 중에 다시 실행하면 nvram -p | grep -i SystemAudioVolume
다시 발생합니다.
7c436110-ab2a-4bbb-a880-fe41995c9f82-SystemAudioVolume=i
이 값을 수정하는 방법을 알고 있나요? (가능하다면)
추신.
TAG를 만들 수 없습니다.efivar
왜냐면 난 300도 안됐거든 하지만 추가되어야 한다고 생각합니다.
답변1
이 기사에 따르면,Linux에서 MacBook 시작 사운드 비활성화,
일부 인터넷 소스에 따르면 Linux에서 EFI 변수에 쓰면 Apple 펌웨어가 손상될 수 있는 경우가 있습니다. 나는 이것에 대해 더 이상 조사하지 않았습니다. Linux에서 이러한 변수를 성공적으로 작성하는 방법을 알고 계시다면 댓글을 통해 모두에게 알려주시기 바랍니다(OS X 복구 모드가 손실될 경우를 대비해).
그들의 해결책은 다음을 nvram
통해 간단히 사운드를 비활성화하는 것이었습니다.
nvram SystemAudioVolume=%00
Cmd또한 + + 를 길게 Option눌러 복구 모드를 사용합니다 R.
printf
또 다른 옵션은 블로그 댓글에서 설명한 방법을 사용하여 변수에 간단히 쓰는 것입니다.
참고: 이 방법은 잠재적으로 위험하므로 이전 방법을 먼저 사용하는 것이 좋습니다.
# Ensure efivars are mounted
mount | grep efivars
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,relatime)
# Remove immutable bit, allows modification
chattr -i /sys/firmware/efi/efivars/SystemAudioVolume-7c436110-ab2a-4bbb-a880-fe41995c9f82
# Set volume to 00
printf "\x07\x00\x00\x00\x00" > /sys/firmware/efi/efivars/SystemAudioVolume-7c436110-ab2a-4bbb-a880-fe41995c9f82
# Display new value
efivar -n 7c436110-ab2a-4bbb-a880-fe41995c9f82-SystemAudioVolume -p
GUID: 7c436110-ab2a-4bbb-a880-fe41995c9f82
Name: "SystemAudioVolume"
Attributes:
Non-Volatile
Boot Service Access
Runtime Service Access
Value:
00000000 00