1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<chapter id="Troubleshooting">
<title>Dépannage</title>
<para>Ce chapitre apporte des réponses à des questions fréquemment posées.
Afin d'améliorer votre expérience utilisateur avec VirtualBox, il est recommandé
de lire cette section pour en apprendre plus sur les soucis classiques et
pour avoir les recommandations sur la manière d'utiliser le produit.</para>
<sect1>
<title>Procédures et outils</title>
<sect2>
<title>Catégoriser et isoler des problèmes</title>
<para>Le plus souvent, un invité virtualisé se comporte comme un système
physique. Une machine virtuelle rencontrera les mêmes problèmes que le
ferait une machine physique. Si, par exemple, vous perdez la connectivité
à Internet à cause de problèmes extérieurs, les machines virtuellas seront
touchées exactement comme celles physiques.</para>
<para>Si vous rencontrez un problème vraiment lié à VirtualBox, celui-ci
aide à le catégoriser et à l'isoler. Voici quelques questions auxquelles
vous devriez répondre avant de signaler un problème :<orderedlist>
<listitem>
<para>Le problème est-il spécifique à un OS invité en particulier ?
À une version de l'OS invité ? Surtout avec les problèmes liés
aux invités Linux, le problème peut être spécifique à une distribution
et à une version de Linux.</para>
</listitem>
<listitem>
<para>Le problème est-il spécifique à un OS hôte en particulier ?
Les problèmes ne sont généralement pas spécifiques à un OS hôte (car
la plupart de la base du code de VirtualBox est partagée par toutes
les plateformes supportées), mais, surtout en matière de réseau et
de support USB, il existe d'importantes différences entre les
plateformes hôtes. Certains problèmes liés à la GUI sont aussi spécifiques
à l'hôte.</para>
</listitem>
<listitem>
<para>Le problème est-il spécifique à un matériel hôte particulier ?
Cette catégorie de problèmes est généralement liée au processeur de
l'hôte. Du fait de différences importantes entre VT-x et AMD-V, des
problèmes peuvent être spécifiques à l'une ou l'autre technologie.
Le modèle exact du processeur peut également marquer une différence
(même pour la virtualisation logicielle) car différents processeurs
supportent différentes fonctions, ce qui peut toucher
certains aspects du fonctionnement du processeur invité.</para>
</listitem>
<listitem>
<para>Le problème est-il spécifique à un mode de virtualisation
en particulier ? Certains problèmes peuvent n'arriver qu'en mode
virtualisation logicielle, d'autres peuvent être spécifiques à la
virtualisation matérielle.</para>
</listitem>
<listitem>
<para>Le problème est-il spécifique au SMP de l'invité ? À
savoir, est-il lié au nombre de processeurs virtuels (VCPUs) de
l'invité ? L'utilisation de plus d'un processeur touche de
façon significative le fonctionnement interne d'un OS invité.</para>
</listitem>
<listitem>
<para>Le problème est-il spécifique aux suppléments invité ?
Dans certains cas, c'est écrit (par exemple un problème de dossiers
partagés), dans d'autres, cela peut être moins évident (par exemple,
des problèmes d'affichage). Si le problème est spécifique aux
suppléments invité, est-il spécifique à une version en particulier
des suppléments invité ?</para>
</listitem>
<listitem>
<para>Le problème est-il spécifique à un environnement particulier ?
Certains problèmes sont liés à un environnement externes à la VM ;
cela implique en général un paramétrage du réseau. Certaines
configurations de serveurs externes tels que DHCP ou PXE peuvent
poser des problèmes qui ne surviennent pas avec d'autres serveurs
identiques.</para>
</listitem>
<listitem>
<para>Le problème est-il une régression ? Le fait de savoir qu'un
problème est une régression facilite beaucoup en général la recherche
d'une solution. Dans ce cas, il est crucial de connaître la version
concernée et celle qui ne l'est pas.</para>
</listitem>
</orderedlist></para>
</sect2>
<sect2>
<title>Recueillir des informations de débogage</title>
<para>Pour déterminer un problème, il est souvent important de recueillir
des informations de débogage que l'assistance de VirtualBox peut analyser.
Cette section contient des informations sur le type d'informations que
vous pouvez obtenir.</para>
<para>À chaque fois que VirtualBox démarre une VM, ce qu'on appelle un <emphasis
role="bold">"release log file"</emphasis> (fichier journal) est créé,
contenant beaucoup d'informations sur la configuration de la VM et les
événements lors de son exécution. Le fichier journal s'appelle
<computeroutput><literal>VBox.log</literal></computeroutput> et se trouve
dans le dossier du fichier journal de la VM. Il s'agira en général d'un
répertoire comme celui-ci :<screen>$HOME/VirtualBox VMs/{machinename}/Logs</screen></para>
<para>Au démarrage d'une VM, le fichier de configuration de la dernière exécution
sera renommé en <computeroutput>.1</computeroutput>, jusqu'à
<computeroutput>.3</computeroutput>. Parfois, quand il y a un problème,
il est utile de jeter un œil dans le journal. Quand vous demandez
de l'aide sur VirtualBox, le fait de fournir le fichier journal correspondant
est obligatoire.</para>
<para>Par commodité, pour chaque machine virtuelle, la fenêtre principale
de VirtualBox peut afficher ces journaux dans une fenêtre. Pour y accéder,
sélectionnez une machine virtuelle dans la liste à gauche et sélectionner
"Afficher les journaux..." dans la fenêtre "Machine".</para>
<para>Le fichier journal (VBox.log) contient une gamme d'informations
de diagnostic telles que le type et la version d'OS hôte, la version
de VirtualBox et l'architecture (32 ou 64 bits), un aperçu complet de la
configuration de l'invité (CFGM), des informations détaillées sur le
type et les fonctions supportées par le processeur, si la virtualisation
matérielle est activée, des informations sur le réglage VT-x/AMD-V, l'état
des transitions (création, exécution, en pause, éteint, etc.), les
messages du BIOS invité, les messages des suppléments invité, les entrées
du journal spécifiques aux périphériques, à la fin de l'exécution, l'état
final de l'invité et des statistiques consolidées.</para>
<para>En cas de plantage, il est très important de recueillir
<emphasis role="bold">les sorties du plantage</emphasis>. Ceci est vrai
tant pour les plantages de l'hôte que pour ceux de l'invité. Pour des
informations sur l'activation de plus de messages sur les systèmes Linux,
Solaris et OS X, reportez-vous à l'article sur les messages du cœur
sur le site Internet de VirtualBox.<footnote>
<para><ulink
url="http://www.virtualbox.org/wiki/Core_dump">http://www.virtualbox.org/wiki/Core_dump</ulink>.</para>
</footnote></para>
<para>Vous pouvez àgalement utiliser <computeroutput>VBoxManage
debugvm</computeroutput> pour créer un journal de toute une machine
virtuelle ; voir <xref linkend="vboxmanage-debugvm" />.</para>
<para>Pour des problèmes liés au réseau, il est souvent utile de récupérer
une trace du trafic réseau. Si le trafic est acheminé par un adaptateur
de l'hôte, il est possible d'utiliser Wireshark ou un outil similaire
pour y récupérer le trafic. Cependant, cela inclut aussi souvent beaucoup
de trafic indépendant de la VM.</para>
<para>VirtualBox offre la possibilité de récupérer seulement le trafic
réseau de l'adaptateur réseau d'une VM spécifique. Reportez-vous à l'article
sur le trafic réseau sur le site Internet de VirtualBox<footnote>
<para><ulink
url="http://www.virtualbox.org/wiki/Network_tips">http://www.virtualbox.org/wiki/Network_tips</ulink>.</para>
</footnote> pour des informations sur l'activation de cette récupération.
Les fichiers de trace créés par VirtualBox sont au format
<computeroutput>.pcap</computeroutput> et peuvent être facilement analysés
avec Wireshark.</para>
</sect2>
<sect2 id="ts_debugger">
<title>Le débogueur de VM intégré</title>
<para>VirtualBox inclut un débogueur de VM intégré, qui peut servir aux
utilisateurs avancés. Ce débogueur permet d'examiner et, dans une certaine
mesure, de contrôler l'état de la VM.<warning>
<para>L'utilisation du débogueur de VM est à vos risques et périls.
Il n'existe pas d'assistance autour, la documentation suivante a été
rendue disponible uniquement pour les utilisateurs avancés ayant un
degré de familiarité très élevé du jeu d'instructions d'une machine
x86/AMD64, ainsi que des connaissances détaillées de l'architecture
PC. Une certaine familiarité avec les aspects internes de l'OS invité
concerné peut aussi aider.</para>
</warning></para>
<para>Le débogueur de VM est disponible dans toutes les versions ordinaires
de production de VirtualBox, mais il est désactivé par défaut car l'utilisateur
moyen l'utilisera très peu. Il existe deux manières d'accéder au débogueur :<itemizedlist>
<listitem>
<para>Une fenêtre de console du débogueur affichée à côté de la VM</para>
</listitem>
<listitem>
<para>Via le protocole <computeroutput>telnet</computeroutput> sur
le port 5000</para>
</listitem>
</itemizedlist></para>
<para>Vous pouvez activer le débogueur de trois façons :<itemizedlist>
<listitem>
<para>Démarrer la VM directement en utilisant <computeroutput>VirtualBox
--startvm</computeroutput>, avec, en plus, l'argument
<computeroutput>--dbg</computeroutput>,
<computeroutput>--debug</computeroutput>, ou
<computeroutput>--debug-command-line</computeroutput>. Voir l'aide
sur l'utilisation de VirtualBox pour des détails.</para>
</listitem>
<listitem>
<para>Définir la variable d'environnement
<computeroutput>VBOX_GUI_DBG_ENABLED</computeroutput> ou
<computeroutput>VBOX_GUI_DBG_AUTO_SHOW</computeroutput> avec
<computeroutput>true</computeroutput> avant de lancer le processus
de VirtualBox. Le réglage des variables (seule leur présence est
vérifiée) est effectif, même quand le premier processus de
VirtualBox est la fenêtre du sélecteur de VM. Les VMs qui se lancent
ensuite à partir du sélecteur auront un débogueur actif.</para>
</listitem>
<listitem>
<para>Définir la donnée supplémentaire <computeroutput>GUI/Dbg/Enabled</computeroutput>
sur <computeroutput>true</computeroutput> avant de lancer la VM. Vous
pouvez la régler de façon globale ou sur une base individuelle à
chaque VM.</para>
</listitem>
</itemizedlist></para>
<para>Un nouveau menu 'Débogage' sera ajoutée à l'application VirtualBox.
Ce menu permet à l'utilisateur d'ouvrir la console du débogueur.</para>
<para>La syntaxe des commandes du débogueur de VM est grosso modo sur
le même modèle que les débogueurs de Microsoft et d'IBM, utilisés sur
DOS, OS/2 et Windows. Les utilisateurs familiers de symdeb,
CodeView, ou du débogueur du noyau the OS/2 trouveront le débogueur de
VM de VirtualBox classique.</para>
<para>La commande la plus importante est <computeroutput>help</computeroutput>.
Cela affichera un message d'aide à l'utilisation rapide de toutes les commandes
du débogueur. L'ensemble des commandes supporté par le débogueur de VM
change souvent et la commande <computeroutput>help</computeroutput> est
toujours à jour.</para>
<para>Voici un résumé rapide des commandes souvent utilisées :<itemizedlist>
<listitem>
<para><computeroutput>stop</computeroutput> -- arrête l'exécution
de la VM et active le mono-session (single stepping)</para>
</listitem>
<listitem>
<para><computeroutput>g</computeroutput> -- continue l'exécution de
la VM</para>
</listitem>
<listitem>
<para><computeroutput>t</computeroutput> -- passe en mono-session
(single step) une instruction</para>
</listitem>
<listitem>
<para><computeroutput>rg/rh/r</computeroutput> -- affiche les registres
actuels de l'invité/hyperviseur</para>
</listitem>
<listitem>
<para><computeroutput>kg/kh/k</computeroutput> -- affiche la pile
d'appel actuelle de l'invité/hyperviseur actuel</para>
</listitem>
<listitem>
<para><computeroutput>da/db/dw/dd/dq</computeroutput> -- affiche
le contenu de la mémoire sous forme ASCII/octets/mots/dwords/qwords</para>
</listitem>
<listitem>
<para><computeroutput>u</computeroutput> -- désassemble la mémoire</para>
</listitem>
<listitem>
<para><computeroutput>dg</computeroutput> -- affiche le GDT
de l'invité</para>
</listitem>
<listitem>
<para><computeroutput>di</computeroutput> -- affiche le
IDT de l'invité</para>
</listitem>
<listitem>
<para><computeroutput>dl</computeroutput> -- affiche le
LDT de l'invité</para>
</listitem>
<listitem>
<para><computeroutput>dt</computeroutput> -- affiche le
TSS de l'invité</para>
</listitem>
<listitem>
<para><computeroutput>dp*</computeroutput> -- affiche les structures
des tables de pages de l'invité</para>
</listitem>
<listitem>
<para><computeroutput>bp/br</computeroutput> -- définit un point de
rupture normal/recompilateur</para>
</listitem>
<listitem>
<para><computeroutput>bl</computeroutput> -- liste les points de
rupture</para>
</listitem>
<listitem>
<para><computeroutput>bc</computeroutput> -- vide les points de
rupture</para>
</listitem>
<listitem>
<para><computeroutput>writecore</computeroutput> -- écrit sur le
disque un fichier cœur de VM, reportez-vous au
<xref linkend="ts_guest-core-format" /></para>
</listitem>
</itemizedlist></para>
<para>Voir le <computeroutput>help</computeroutput> intégré pour d'autres
commandes disponibles.</para>
<para>Le débogueur de VM supporte le débogage symbolique de base, même si
les symboles du code invité ne sont pas souvent disponibles. Pour les
invités Solaris, la commande <computeroutput>detect</computeroutput>
détermine automatiquement la version de l'OS invité et localise les symboles
du noyau dans la mémoire de l'invité. Le débogage symbolique est
alors disponible. Pour les invités Linux, les commandes <computeroutput>detect</computeroutput>
déterminent également la version de l'OS invité, mais il n'y a pas de
symboles dans la mémoire de l'invité. Les symboles du noyau sont disponiblas
dans le fichier <computeroutput>/proc/kallsyms</computeroutput> des
invités Linux. Vous devez copier ce fichier dans l'hôte, en utilisant par
exemple <computeroutput>scp</computeroutput>. La commande
<computeroutput>loadmap</computeroutput> du débogueur peut être utilisée
pour rendre les informations de symbole disponibles pour le débogueur de VM.
Remarquez que le fichier <computeroutput>kallsyms</computeroutput> contient
les symboles des modules actuellement chargés ; si la configuration de
l'invité change, les symboles changeront aussi et doivent être mis à
jour.</para>
<para>Pour tous les invités, une façon simple de vérifier que les bons
symboles sont chargés est la commande <computeroutput>k</computeroutput>.
L'invité est en principe occupé et il devrait être vidé des informations
symboliques que la boucle active du système d'exploitation invité exécute.</para>
<para>Un autre groupe de commandes du débogueur est
<computeroutput>info</computeroutput>. L'exécution d
<computeroutput>info help</computeroutput> fournit ces
informations d'utilisation complètes. Les commandes d'informations
fournissent des données ad-hoc pertinentes sur divers périphériques émulés
et sur les aspects de la VMM. Il n'y a pas de lignes directrices générales
sur l'utilisation des commandes <computeroutput>info</computeroutput>,
la bonne commande à utiliser dépend beaucoup du problème à trouver.
Certaines commandes info sont :<itemizedlist>
<listitem>
<para><computeroutput>cfgm</computeroutput> -- affiche une branche
de l'arborescence de la configuration</para>
</listitem>
<listitem>
<para><computeroutput>cpuid</computeroutput> -- affiche les sorties
du CPUID de l'invité</para>
</listitem>
<listitem>
<para><computeroutput>ioport</computeroutput> -- affiche les E/S
des plages de ports enregistrées</para>
</listitem>
<listitem>
<para><computeroutput>mmio</computeroutput> -- affiche les plages
MMIO enregistrées</para>
</listitem>
<listitem>
<para><computeroutput>mode</computeroutput> -- affiche le mode de
pagination actuel</para>
</listitem>
<listitem>
<para><computeroutput>pit</computeroutput> -- affiche l'état i8254 PIT</para>
</listitem>
<listitem>
<para><computeroutput>pic</computeroutput> -- affiche l'état i8259A PIC</para>
</listitem>
<listitem>
<para><computeroutput>ohci/ehci</computeroutput> -- affiche un
sous-ensemble de l'état du contrôleur USB OHCI/EHCI</para>
</listitem>
<listitem>
<para><computeroutput>pcnet0</computeroutput> -- affiche l'état PCnet</para>
</listitem>
<listitem>
<para><computeroutput>vgatext</computeroutput> -- affiche le contenu
du tampon (framebuffer) VGA formaté en mode texte standard</para>
</listitem>
<listitem>
<para><computeroutput>timers</computeroutput> -- affiche toutes les
horloges de la VM</para>
</listitem>
</itemizedlist></para>
<para>La sortie des commandes <computeroutput>info</computeroutput> exige
généralement une connaissance approfondie du périphérique émulé et/ou des
aspects internes de VirtualBox VMM. Cependant, quand on les utilise correctement,
les informations fournies peuvent avoir une valeur inestimable.</para>
</sect2>
<sect2 id="ts_guest-core-format">
<title>Format du cœur d'une VM</title>
<para>VirtualBox utilise le format ELF 64 bits pour les fichiers cœur
de la VM créés par <computeroutput>VBoxManage debugvm</computeroutput> ;
voir <xref linkend="vboxmanage-debugvm" />. Les fichiers cœur d'une
VM contiennent les messages de la mémoire et du processeur de la VM et ils
peuvent être utiles pour déboguer votre OS invité. Vous pouvez savoir
les spécifications du format objet ELF 64 bits ici : <literal><ulink
url="http://downloads.openwatcom.org/ftp/devel/docs/elf-64-gen.pdf">http://downloads.openwatcom.org/ftp/devel/docs/elf-64-gen.pdf</ulink></literal>.</para>
<para>La présentation grosso modo du format du cœur de la VM est
celle-ci :</para>
<para><screen>[ ELF 64 Header]
[ Program Header, type PT_NOTE ]
-> offset to COREDESCRIPTOR
[ Program Header, type PT_LOAD ] - un par plage de mémoire physique contiguë
-> Memory offset of range
-> File offset
[ Note Header, type NT_VBOXCORE ]
[ COREDESCRIPTOR ]
-> Magic
-> Version du fichier cœur de la VM
-> Version de VBox
-> Nombre de vprocesseurs etc.
[ Note Header, type NT_VBOXCPU ] - un pour chaque vCPU
[ vCPU 1 Note Header ]
[ CPUMCTX - vCPU 1 dump ]
[ Remarques + données supplémentaires ] - Non utilisées aujourd'hui
[ Memory dump ]</screen></para>
<para>Les descripteurs de mémoire contiennent les adresses physiques de
la mémoire liées à l'invité et pas les adresses virtuelles. Les régions de
la mémoire telles que les régions MMIO ne sont pas incluses dans le fichier
cœur.</para>
<para>Vous pouvez trouver les structures de données et les définitions
pertinentes dans les sources de VirtualBox sous les fichiers en-têtes
suivants :
<computeroutput>include/VBox/dbgfcorefmt.h</computeroutput>,
<computeroutput>include/VBox/cpumctx.h</computeroutput> et
<computeroutput>src/VBox/Runtime/include/internal/ldrELFCommon.h</computeroutput>.</para>
<para>Vous pouvez examiner le fichier cœur de la VM en utilisant
<computeroutput>elfdump</computeroutput> et GNU
<computeroutput>readelf</computeroutput> ou d'autres outils similaires.</para>
</sect2>
</sect1>
<sect1>
<title>Général</title>
<sect2 id="ts_config-periodic-flush">
<title>L'invité affiche des erreurs IDE/SATA pour les images
fichier d'un système de fichiers hôte lent</title>
<para>De temps en temps, certains systèmes de fichiers hôte offrent des
performances d'écriture très faibles et, par conséquent, créent des
timeout sur les commandes IDE/SATA de l'invité. C'est un comportement normal
et cela ne devrait pas provoquer de vrais problèmes, car l'invité devrait
répéter des commandes qui ont dépassé le timeout. Cependant, certains
invités (comme certaines versions
de Linux) ont de gros problèmes si l'écriture dans un fichier image dépasse
15 secondes. Or, certains systèmes de fichiers nécessitent plus d'une
minute pour effectuer une seule écriture, si le cache de l'hôte contient
beaucoup de données à écrire.</para>
<para>Le symptôme de ce problème est que l'invité ne peut plus accéder à
ses fichiers lors de grosses écritures, ce qui aboutit en général à un
accroc immédiat de l'invité.</para>
<para>Pour contourner ce problème (la vraie correction est d'utiliser un
système de fichier plus rapide qui n'excède pas de telles performances
d'écriture inacceptables), il est possible de flasher le fichier image
après qu'une certaine quantité de données ait été écrite. Cet intervalle est
en principe infini mais vous pouvez le configurer individuellement pour
chaque disque d'une VM.</para>
<para>Pour des disques IDE, utilisez la commande suivante :</para>
<screen>VBoxManage setextradata "nom VM"
"VBoxInternal/Devices/piix3ide/0/LUN#[x]/Config/FlushInterval" [b]</screen>
<para>Pour des disques SATA, utilisez la commande suivante :</para>
<screen>VBoxManage setextradata "nom VM"
"VBoxInternal/Devices/ahci/0/LUN#[x]/Config/FlushInterval" [b]</screen>
<para>La valeur [x] qui sélectionne le disque pour l'IDE est 0 pour le
périphérique maître du premier canal, 1 pour périphérique esclave du premier
canal, 2 pour le périphérique maître du deuxième canal, ou 3 pour le
périphérique esclave du deuxième canal. Pour SATA, utilisez des valeurs
entre 0 et 29. Seuls les disques supportent cette option de configuration ;
vous ne devez pas la définir pour des lecteurs CD/DVD.</para>
<para>L'unité d'intervalle [b] est le nombre d'octets écrits depuis le
dernier vidage. Sa valeur doit être sélectionnée de sorte que les longs
délais d'écriture occasionnels ne se produisent pas. Comme la bonne valeur
d'intervalle de vidage dépend des performances de l'hôte et du système de
fichiers hôte, savoir la valeur optimum qui fait disparaître le problème
nécessite d'expérimenter. Des valeurs entre 1000000 et 10000000 (1 to 10 mégaoctets)
sont un bon point de départ. La diminution de l'intervalle réduit la probabilité
du problème et les performances d'écriture de l'invité. Le test des valeurs faibles inutilement sera coûteux en
performances sans avantages. Un intervalle de 1 fera un vidage toutes les
opération d'écriture et cela devrait résoudre le problème dans tous les
cas, mais cela est très coûteux en performances d'écriture.</para>
<para>Fournir la valeur 0 à [b] revient à un intervalle de vidage infini
ce qui désactive de fait ce contournement. La suppression de la donnée
supplémentaire en ne spécifiant aucune valeur pour [b] aboutit au même
effet.</para>
</sect2>
<sect2>
<title>Réponse aux requêtes de vidage IDE/SATA de l'invité</title>
<para>Si vous le souhaitez, les images virtuelles de disque peuvent être
flashées quand l'invité lance une commande IDE FLUSH CACHE. Normalement ces
requêtes sont ignorées pour des performances améliorées. Les paramètres
ci-dessous sont acceptés uniquement pour les lecteurs de disque. Elles ne
doivent pas être définies pour des lecteurs DVD.</para>
<para>Pour activer le vidage des disques IDE, lancez la
commande suivante :</para>
<screen>VBoxManage setextradata "nom VM" "VBoxInternal/Devices/piix3ide/0/LUN#[x]/Config/IgnoreFlush" 0</screen>
<para>La valeur [x] qui sélectionne le disque pour l'IDE est 0 pour le
périphérique maître du premier canal, 1 pour périphérique esclave du premier
canal, 2 pour le périphérique maître du deuxième canal, ou 3 pour le
périphérique esclave du deuxième canal.</para>
<para>Pour activer le vidage pour des disques SATA, lancez la commande
suivante :</para>
<screen>VBoxManage setextradata "nom VM" "VBoxInternal/Devices/ahci/0/LUN#[x]/Config/IgnoreFlush" 0</screen>
<para>La valeur [x] qui sélectionne le disque peut être une valeur entre
0 et 29.</para>
<para>Remarquez que cela ne concerne pas les vidages effectués selon la
configuration décrite au <xref linkend="ts_config-periodic-flush"
xrefstyle="template: %n" />. La restauration des paramètres par défaut
d'ignorance des commandes est possible en paramétrant la valeur sur 1 ou en
supprimant la clé.</para>
</sect2>
<sect2 id="ts_host-powermgmt">
<title>Faibles performances dues à la gestion d'énergie de l'hôte</title>
<para>Sur certaines plateformes matériel et sur certains systèmes
d'exploitation, les performances de virtualisation sont touchées de manière
négative par la gestion d'énergie du processeur de l'hôte. Les symptômes
peuvent être un changement de son dans l'invité ou un comportement erratique
de l'horloge de l'invité.</para>
<para>Certains problèmes peuvent venir de bogues d'un firmware et/ou
du système d'exploitation hôte. Donc, la mise à jour du firmware et l'application
de correctifs au système d'exploitation est recommandée.</para>
<para>Pour des performances de virtualisation optimales, le support de
l'état d'énergie C1E dans le BIOS du système devrait être activé si ce
paramètre est disponible (tous les systèmes ne supportent pas l'état
d'énergie C1E). Sur les systèmes Intel, le paramètre <computeroutput>Intel C State</computeroutput>
devrait être désactivé. La désactivation
d'autres paramètres de gestion d'énergie peut aussi améliorer les
performances. Toutefois, vous devez toujours faire un bilan performance
consommation d'énergie.</para>
</sect2>
<sect2 id="ts_gui-2d-grayed-out">
<title>GUI : l'option d'accélération graphique est grisée</title>
<para>Pour utiliser l'accélération graphique 2D dans VirtualBox, la carte
graphique de votre hôte devrait supporter certaines extensions d'OpenGL.
Au démarrage, VirtualBox vérifie ces extensions et, si le test échoue, cette
option est grisée silencieusement.</para>
<para>Pour connaître la raison pour laquelle il a échoué, vous pouvez exécuter
à la main la commande suivante :</para>
<screen>VBoxTestOGL --log "log_file_name" --test 2D</screen>
<para>Elle listera les extensions OpenGL nécessaires une par une et elle
vous montrera celles où le test a échoué. Cela signifie en général que
vous exécutez un pilote OpenGL obsolète ou mal configuré sur votre hôte.
Cela peut aussi signifier que le chipset graphique manque d'une fonctionnalité
requise.</para>
</sect2>
</sect1>
<sect1>
<title>Invités Windows</title>
<sect2>
<title>Écrans bleus Windows après avoir changé la configuration d'une VM</title>
<para>La modification de certains paramètres d'une machine virtuelle peut
faire échouer des invités Windows au démarrage, avec un écran bleu. Cela
peut se produire si vous changez les paramètres d'une VM après avoir installé
Windows ou si vous copiez une image de disque avec un Windows installé
sur une VM nouvellement créée dont les paramètres diffèrent de la machine
d'origine.</para>
<para>Cela s'applique en particulier aux paramètres suivants :<itemizedlist>
<listitem>
<para>Vous ne devriez jamais modifier les paramètres ACPI et APIC
E/S après avoir installé Windows. Selon la présence de ces fonctions
matérielles, le programme d'installation de Windows choisit des
versions spéciales du noyau et des pilotes de périphérique et il
n'arrivera pas à démarrer si on supprime ces fonctionnalités. (Leur
activation pour une VM Windows installé sans elles ne présente
aucun risque. Par contre, Windows n'utilisera pas ces fonctions dans
ce cas.)</para>
</listitem>
<listitem>
<para>La modification des contrôleurs de stockage aboutira à des
échecs au démarrage. Cela pourrait aussi s'appliquer si vous copiez
une image de disque d'une ancienne version de VirtualBox sur une
machine virtuelle créée avec une version de VirtualBox plus récente ;
le sous-type de contrôleur IDE est passé de PIIX3 à PIIX4 avec
VirtualBox 2.2. Assurez-vous que ces paramètres sont identiques.</para>
</listitem>
</itemizedlist></para>
</sect2>
<sect2>
<title>Écran bleu sur Windows 0x101 si SMP est activé (IPI timeout)</title>
<para>Si une VM est configurée pour avoir plus d'un processeur (multiprocesseurs
symmétriques, SMP), certaines configurations d'invités Windows plantent avec
un message d'erreur 0x101 indiquant une interruption du timeout de
l'inter-processeur (IPIs, Interprocessor Interrupts). Ces interruptions
synchronisent la gestion de mémoire entre les processeurs.</para>
<para>Selon Microsoft, cela vient d'une condition concurrentielle (avec conflit)
dans Windows. Un correctif existe.<footnote>
<para>Voir <ulink
url="http://support.microsoft.com/kb/955076">http://support.microsoft.com/kb/955076</ulink>.</para>
</footnote> Si cela n'aide pas, merci de réduire le nombre de
processeurs virtuels à 1.</para>
</sect2>
<sect2>
<title>Échecs d'installation de Windows 2000</title>
<para>En installant des invités Windows 2000, vous pourriez rencontrer
les problèmes suivants :</para>
<itemizedlist>
<listitem>
<para>L'nstallation redémarre, en général lors de l'enregistrement
d'un composant.</para>
</listitem>
<listitem>
<para>L'nstallation remplit tout le disque dur par des fichiers journaux
vides.</para>
</listitem>
<listitem>
<para>L'installation rapporte un échec lors de l'installation de
<literal>msgina.dll</literal>.</para>
</listitem>
</itemizedlist>
<para>Ces problèmes viennent tous d'un bogue du pilote de disque dur de
Windows 2000. Après avoir sollicité une requête du disque dur, il survient
un conflit concurrentiel (race condition) dans le code du pilote Windows,
qui conduit à une corruption si l'opération se termine trop vite, donc si
l'interruption matérielle du contrôleur IDE survient trop tôt. Avec du
matériel physique, il existe un délai garanti dans la plupart des systèmes,
donc le problème est généralement caché (il devrait être cependant possible
de le reproduire aussi sur du matériel physique). Dans un environnement
virtuel, l'opération peut se faire immédiatement (surtout sur des systèmes
très rapides avec plusieurs CPU) et l'interruption est signalée
plus tôt que sur un système physique. La solution consiste à introduire
un délai artificiel avant d'envoyer de telles interruptions. Vous pouvez
configurer ce délai pour une VM avec la commande suivante :</para>
<screen>VBoxManage setextradata "nom VM" "VBoxInternal/Devices/piix3ide/0/Config/IRQDelay" 1</screen>
<para>Ceci définit le délai à une milliseconde. Si cela n'aide pas,
passez-le à une valeur entre 1 et 5 millisecondes. Merci de remarquer que
cela ralentit les performances du disque. Après l'installation, vous devriez
pouvoir supprimer la clé (ou la passer à 0).</para>
</sect2>
<sect2>
<title>Comment garder les informations d'un écran bleu des invités Windows</title>
<para>Quand les invités Windows connaissent un plantage du noyau, ils affichent
l'horrible écran bleu. Selon la façon dont est configuré Windows, les
informations demeureront à l'écran jusqu'à ce que la machine soit redémarrée
ou qu'elle redémarre automatiquement. Pendant l'installation, Windows est
généralement configuré pour redémarrer automatiquement. Avec le
redémarrage automatique, il n'y a aucune chance d'enregistrer les informations
d'un écran bleu, alors qu'elles pourraient être importantes pour déterminer
le problème.</para>
<para>VirtualBox offre une méthode d'arrêt de l'invité quand il veut
redémarrer. Pour activer cette fonction, exécutez la commande suivante :</para>
<para><screen>VBoxManage setextradata "nom VM" "VBoxInternal/PDM/HaltOnReset" 1</screen></para>
</sect2>
<sect2>
<title>Pas de réseau dans les invités Windows Vista</title>
<para>Avec Windows Vista, Microsoft a abandonné le support de la carte
AMD PCNet utilisée par VirtualBox comme carte réseau virtuelle par défaut
avant la version 1.6.0. Pour les invités Windows Vista, VirtualBox utilise
maintenant par défaut une carte Intel E1000.</para>
<para>Si, pour une raison quelconque, vous voulez toujours utiliser la
carte AMD, vous devez télécharger le pilote de PCNet sur le site Internet
d'AMD (disponible seulement pour Windows 32 bits). Vous pouvez le transférer
dans la machine virtuelle en utilisant un dossier partagé (voir
<xref linkend="sharedfolders" />).</para>
</sect2>
<sect2>
<title>Les invités Windows peuvent provoquer une forte charge du processeur</title>
<para>Plusieurs applications en arrière-plan des invités Windows, en
particulier les anti-virus, sont connues pour augmenter considérablement la
charge du processeur même si l'invité semble être inactif. Nous vous
recommandons de désactiver les anti-virus des invités virtualisés si
possible.</para>
</sect2>
<sect2>
<title>Temps d'accès élevés aux dossiers partagés</title>
<para>Les performances d'accès aux dossiers partagés depuis un invité
Windows pourraient diminuer du fait des délais de résolution du service
de domaine des dossiers partagés de VirtualBox. Pour corriger ces délais,
ajoutez les entrées suivante au fichier <computeroutput>\windows\system32\drivers\etc\lmhosts</computeroutput>
de l'invité Windows :</para>
<screen>255.255.255.255 VBOXSVR #PRE
255.255.255.255 VBOXSRV #PRE</screen>
<para>Après ce changement, il faut redémarrer l'invité.</para>
</sect2>
<sect2>
<title>La tablette USB coordonne mal dans les invités Windows 98</title>
<para>Si une VM Windows 98 est configurée pour utiliser la tablette USB
émulée (périphérique de pointage absolu), il se peut que la traduction de
la coordination soit incorrecte et que le pointeur soit restreint au quart
en haut à gauche de l'écran de l'invité.</para>
<para>Les pilotes HID (Human Interface Device) USB de Windows 98 sont très
vieux et ils ne gèrent pas les tablettes de la même manière que les systèmes
d'exploitation récents (Windows 2000 et supérieur, Mac OS X, Solaris). Pour
contourner le problème, exécutez la commande suivante :
</para>
<para><screen>VBoxManage setextradata "nom VM" "VBoxInternal/USB/HidMouse/0/Config/CoordShift" 0</screen></para>
<para>Pour restaurer le comportement par défaut, supprimez la clé ou
réglez sa valeur à 1.
</para>
</sect2>
<sect2>
<title>Les invités Windows sont retirés du domaine Active Directory après
la restauration d'un instantané</title>
<para>Si un invité Windows est membre d'un domaine Active Directory et
que vous utilisez la fonction des instantanés de VirtualBox, il pourrait
se produire des pertes de cet état après la restauration d'un ancien
instantané.
</para>
<para>Ceci vient du changement automatique de mot de passe de la machine opéré
régulièrement par Windows pour des raisons de sécurité. Vous pouvez
désactiver cette fonction en suivant les instructions de <ulink
url="http://support.microsoft.com/kb/154501">http://support.microsoft.com/kb/154501</ulink>
cet article de Microsoft.
</para>
</sect2>
<sect2 id="ts_d3d8-d3d9-restore">
<title>Restauration de d3d8.dll et de d3d9.dll</title>
<para>Les suppléments invité de VirtualBox pour Windows et inférieurs à
la 4.1.8 ne sauvegardaient pas les fichiers système d'origine d3d8.dll et
d3d9.dll lors de l'installation du support expérimental de Direct3D. Ce
processus remplace ces deux fichiers système par des fichiers des suppléments
invité de VirtualBox gérables correctement par les appels de Direct3D. Si
ce problème a été corrigé avec VirtualBox 4.1.8, il n'y a aucun moyen de
faire réparer ces fichiers par l'installeur des suppléments invité.</para>
<para>La corruption de ces fichiers n'a pas d'implications si l'accélération
3D est activée et si le support de base de Direct3D est installé, à savoir
sans WDDM (sur Windows Vista ou supérieur) ou sur les anciens systèmes
Windows comme Windows XP. Avec le support Direct3D de base, toutes les
applications Direct3D 8.0 et Direct3D 9.0 utiliseront directement les fichiers
Direct3D de VirtualBox et fonctionneront ainsi comme prévu.</para>
<para>Par contre, pour le support WDDM Direct3D, les fichiers d3d8.dll et
d3d9.dll inclus d'origine sont nécessaires pour lancer des applications
Direct3D 8.0 et Direct3D 9.0. Il résulte de la corruption des fichiers
système ci-dessus que ces applications ne fonctionneront plus. Voir
ci-dessous pour une guide pas à pas sur la restauration des fichiers
systèmes d'origine
d3d8.dll et d3d9.dll si l'installeur des suppléments invité de
VirtualBox a averti que ces fichiers étaient incorrects ou en cas de
problème en exécutant les applications Direct3D.</para>
<note><para>À partir de Windows 7 le bureau 3D (aka Aero) utilise DirectX 10
pour être affiché afin que les fichiers d3d8.dll et d3d9.dll corrompus
n'aient aucun effet sur la session en cours.</para></note>
<para>C'est pourquoi la détection d'une telle corruption de fichier n'est
pas considérée comme fatale pour l'installation basique de Direct3D sur
tous les invités Windows supportés et pour une installation de WDDM Direct3D
sur les invités Windows 7 et supérieur.</para>
<para>Extraire d3d8 et d3d9.dll du CD d'installation de Windows XP :</para>
<orderedlist>
<listitem>
<para>Téléchargez et installez la dernière version de 7-Zip File Manager
<ulink url="http//www.7-zip.org">http//www.7-zip.org</ulink></para>
</listitem>
<listitem>
<para>Parcourez le CD d'installation, par exemple E:\i386 (ou AMD64
pour la version 64 bits)</para>
</listitem>
<listitem>
<para>Localisez le fichier d3d8.dl_ et d3d9.dl_, cliquez deux fois
dessus et extrayez d3d8.dll et d3d9.dll</para>
</listitem>
<listitem>
<para>Redémarrez Windows en mode sans échec</para>
</listitem>
<listitem>
<para>Copiez d3d8.dll et d3d9.dll extraits dans C:\Windows\system32 and C:\Windows\system32\dllcache</para>
</listitem>
<listitem>
<para>Redémarrez</para>
</listitem>
</orderedlist>
<para>Extraction de d3d8 et de d3d9.dll du pack service de Windows XP </para>
<orderedlist>
<listitem>
<para>1, 3-6 Identiques au CD d'installation</para>
</listitem>
<listitem>
<para>Utilisez 'Ouvrir avec' pour ouvrir WindowsXP-KB936929-SP3-x86.exe
en tant qu'archive et parcourez le répertoire i386.</para>
</listitem>
</orderedlist>
<para>Extraction de d3d8 et de d3d9.dll du CD d'installation de Vista/Windows7 ou
des images du pack Service</para>
<orderedlist>
<listitem>
<para>Téléchargez et installez la dernière version de 7-Zip File Manager <ulink
url="http//www.7-zip.org">http//www.7-zip.org</ulink></para>
</listitem>
<listitem>
<para>Parcourez le CD d'installation, par exemple E:\sources</para>
</listitem>
<listitem>
<para>Localisez le fichier install.wim et cliquez deux fois dessus.
Après l'ouverture du fichier par 7-Zip, vous verrez un certain nombre
de dossiers. Chaque sous-dossier numéroté représente une version
différente de Windows (Starter, Home Basic, and ainsi de suite)</para>
</listitem>
<listitem>
<para>Après être entré dans les dossiers numérotés adéquats, parcourez
le répertoire Windows\System32 (or C:\Windows\SysWOW64 pour la
version 64 bits) et localisez d3d8.dll et d3d9.dll puis extrayez</para>
</listitem>
<listitem>
<para>Copiez d3d8.dll et d3d9.dll extraits dans C:\Windows\system32 ou
C:\Windows\SysWOW64 (les fichiers de system32 devraient aller dans
system32, ceux de SysWOW64 dans SysWOW64)</para>
</listitem>
<listitem>
<para>Redémarrez</para>
</listitem>
</orderedlist>
</sect2>
</sect1>
<sect1>
<title>Invités Linux et X11</title>
<sect2>
<title>Les invités Linux peuvent entraîner une forte charge du processeur</title>
<para>Certains invités Linux peuvent entraîner une forte charge du processeur
même si le système invité semble inactif. Cela peut venir d'une fréquence
d'horloge élevée du noyau invité. Certaines distributions Linux, par exemple
Fedora, incluent un noyau Linux configuré pour une fréquence d'horloge de
<emphasis role="bold"> 1000Hz</emphasis>. Nous vous recommandons de
recompiler le noyau invité et de sélectionner une fréquence d'horloge de
100Hz.</para>
<para>Les noyaux Linux inclus avec Linux Red Hat Enterprise (RHEL) entre
la version 4.7 et 5.1 ainsi que les noyaux des distributions Linux associées
(par exemple, CentOS et Oracle Linux) supportent un paramètre
<emphasis>divider=N</emphasis> du noyau. D'où le fait que de tels noyaux
supportent une fréquence d'horloge plus faible sans recompilation. Nous
vous suggérons d'ajouter le paramètre <emphasis>divider=10</emphasis> du
noyau pour sélectionner une fréquence de l'horloge du noyau invité de
100Hz.</para>
</sect2>
<sect2>
<title>Processeurs AMD Barcelona</title>
<para>La plupart des invités basés sur Linux échoueront avec l'AMD Phenoms ou
Barcelona-level Opterons du fait d'un bogue dans le noyau Linux. Activez
l'APIC E/S pour contourner le problème (voir <xref
linkend="settings-system" />).</para>
</sect2>
<sect2 id="ts_linux-buggy">
<title>Versions buguées du noyau Linux Linux 2.6</title>
<para>Les bogues suivants des noyaux Linux les empêchent de les exécuter
correctement dans VirtualBox, ce qui fait planter la VM au démarrage :<itemizedlist>
<listitem>
<para>La version du noyau Linux 2.6.18 (et certaines versions 2.6.17)
ont introduit un conflit de condition (race condition) qui peut
provoquer un plantage au démarrage dans VirtualBox. Merci d'utiliser
une version du noyau 2.6.19 ou supérieur.</para>
</listitem>
<listitem>
<para>Avec la virtualisation matérielle et l'APIC E/S activé, les
noyaux inférieurs au 2.6.24-rc6 peuvent planter au démarrage avec le
message suivant :<screen>Kernel panic - not syncing: IO-APIC + timer doesn't work! Boot with
apic=debug and send a report. Then try booting with the 'noapic' option</screen></para>
<para>Si vous voyez ce message, soit désactivez la virtualisation
matérielle, soit l'APIC E/S (voir <xref
linkend="settings-system" />), ou mettez à jour l'invité vers un
noyau plus récent.<footnote>
<para>Voir <ulink
url="http://www.mail-archive.com/git-commits-head@vger.kernel.org/msg30813.html">http://www.mail-archive.com/git-commits-head@vger.kernel.org/msg30813.html</ulink>
pour des détails sur le correctif du noyau.</para>
</footnote></para>
</listitem>
</itemizedlist></para>
</sect2>
<sect2>
<title>Presse-papier partagé, redimensionnement automatique et bureau transparent
dans les invités X11</title>
<para>Les services du bureau invité dans les invités exécutant le système
X11 window (Solaris, Linux et autres) sont fournis par un service invité
qui s'appelle <computeroutput>VBoxClient</computeroutput>, qui fonctionne
sous l'ID de l'utilisateur qui démarre la session du bureau et qui est
démarré automatiquement en utilisant les lignes de commande suivantes
<screen>VBoxClient --clipboard
VBoxClient --display
VBoxClient --seamless</screen> quand votre session utilisateur X11 est lancée
si vous utilisez un environnement de bureau courant (Gnome, KDE et autres). Si
un service du bureau particulier ne fonctionne pas bien, il vaut la peine de
vérifier si le processus qui devrait le fournir est en fonction.</para>
<para>Les processus <computeroutput>VBoxClient</computeroutput> créent
des fichiers dans le dossier personnel de l'utilisateur avec des noms sous
la forme <computeroutput>.vboxclient-*.pid</computeroutput> quand ils
fonctionnent, pour empêcher un service donné de se démarrer deux fois. Il
peut arriver, à cause d'une mauvaise configuration, que ces fichiers
se créent sous la propriété de l'administrateur et ne sont pas effacés
quand les services s'arrêtent, ce qui les empêchera de démarrer à l'avenir.
Si vous ne pouvez pas démarrer les services, vous pourriez vérifier si
ces fichiers existent.</para>
</sect2>
</sect1>
<sect1>
<title>Invités Solaris</title>
<sect2>
<title>Les versions inférieures à Solaris 10 plantent en mode 64 bits</title>
<para>Les versions de Solaris 10 inférieures ou égales à Solaris 10 8/07 ("S10U4")
détectent mal les processeurs Intel récents fabriqués depuis 2007. Ce
problème fait planter ou stopper le noyau Solaris 64 bits presqu'immédiatement
lors du démarrage, tant dans un environnement virtualisé que physique.
</para>
<para>
La solution recommandée est de mettre à jour vers au moins Solaris 10 5/08
("S10U5"). D'autres solutions consistent à obliger Solaris à toujours
démarrer le noyau 32 bits ou à appliquer un correctif au bogue 6574102
(tant que Solaris utilise le noyau 32 bits).
</para>
</sect2>
</sect1>
<sect1>
<title>Hôte Windows</title>
<sect2>
<title>Problème du serveur VBoxSVC out-of-process COM</title>
<para>VirtualBox utilise le Component Object Model (COM) de Microsoft pour
la communication inter et intra-processus. Cela permet à VirtualBox de
partager une configuration commune entre les processus de différentes
machines virtuelles et de fournir plusieurs versions de l'interface
utilisateur basées sur une architecture commune. Toutes les informations
d'état et la configuration globale sont maintenues par le processus
<computeroutput>VBoxSVC.exe</computeroutput>, qui est un service COM
hors des processus. À chaque fois que le processus de VirtualBox est démarré,
il demande un accès au serveur COM et Windows démarre automatiquement le
processus. Notez que l'utilisateur final ne devrait jamais le démarrer.</para>
<para>Quand le dernier processus se déconnecte du serveur COM, il se
terminera lui-même après quelques secondes. La configuration de VirtualBox
(fichiers XML) est maintenue et appartient au serveur COM et les fichiers
sont verrouillés à chaque fois que le serveur s'exécute.</para>
<para>Dans certains cas - comme quand une machine virtuelle se termine
de manière imprévue -, le serveur COM ne remarquera pas que le client est
déconnecté et il restera actif longtemps (10 minutes voire plus), gardant
verrouillés les fichiers de configuration. Dans de rares cas, le serveur
COM pourrait connaître une erreur interne et, en conséquence, les autres
processus pourraient ne pas pouvoir l'initialiser. Dans ces situations, il
est recommandé d'utiliser le gestionnaire des tâches de Windows pour tuer
le processus <computeroutput>VBoxSVC.exe</computeroutput>.</para>
</sect2>
<sect2>
<title>Changements de CD/DVD non reconnus</title>
<para>Si vous avez affecté un lecteur CD/DVD physique à un invité et si
l'invité ne remarque pas les changements de médias, assurez-vous que la
fonction de notification de changement de média (MCN) de Windows n'est pas
désactivée. Elle est représentée par la clé suivante dans le registre
Windows ::<screen><literal>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdrom\Autorun</literal></screen>
Il se peut que certaines applications désactivent cette clé contre l'avis de
Microsoft. Si elle est définie à 0, passez-la à 1 et redémarrez votre système.
VirtualBox s'appuie sur la notification de Windows de changement de média.</para>
</sect2>
<sect2>
<title>Réponse lente en utilisant le client RDP de Microsoft</title>
<para>Si vous vous connectez à une machine virtuelle avec le client RDP de
Microsoft (appelé Remote Desktop Connection), il peut y avoir d'importants
délais entre l'entrée (le déplacement de la souris dans un menu est la situation la
plus évidente) et la sortie. Ceci car le client RDP récupère l'entrée pendant
un certain temps avant de l'envoyer au serveur RDP.</para>
<para>Vous pouvez diminuer l'intervalle en définissant une clé du registre
Windows sur des valeurs plus petites que celles par défaut, 100. La clé
n'existe pas au départ, elle doit être de type DWORD. Son unité de valeur est en millisecondes. Les valeurs autour
de 20 conviennent aux connexions avec faible bande passante entre le client
et le serveur RDP. Des valeurs autour de 4 peuvent être utilisées pour une
connexion Internet à 4 gigaoctets. En général, les valeurs inférieures à
10 donnent une performance très réduite par rapport aux périphériques
d'entrée locaux et à l'écran de l'hôte sur lequel fonctionne la machine
virtuelle.</para>
<para>Selon que le paramètre à modifier est pour un utilisateur individuel
ou pour le système, vous pouvez définir soit</para>
<screen>HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Min Send Interval</screen>
<para>soit</para>
<screen>HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client\Min Send Interval</screen>
<para>correctement.</para>
</sect2>
<sect2>
<title>Lancer un initiateur et une cible iSCSI sur un seul système</title>
<para>Des verrouillages peuvent se produire sur un hôte Windows quand on essaie
d'accéder à une cible iSCSI en fonction dans une machine virtuelle invitée
avec un initiateur iSCSI (comme Microsoft iSCSI Initiator) en fonction
sur l'hôte. Cela vient d'un défaut dans le composant du gestionnaire de cache
de Windows et cela donne une réponse lente du système hôte, de plusieurs
minutes, suivies d'un message d'erreur "Delayed Write Failed" (délai
d'écriture différé) dans la barre système ou dans une fenêtre de message
distincte. L'invité est bloqué pendant ce temps et il peut afficher des
messages d'erreur ou devenir instable.</para>
<para>La définition d'une variable d'environnement
<computeroutput>VBOX_DISABLE_HOST_DISK_CACHE</computeroutput> à 1 activera
un contournement de ce problème jusqu'à ce que Microsoft le traite.
Par exemple, ouvrez une fenêtre d'invite de commande et démarrez VirtualBox
comme ceci :</para>
<screen>set VBOX_DISABLE_HOST_DISK_CACHE=1
VirtualBox</screen>
<para>Si cela réduif les performances du disque invité (surtout en écriture),
cela ne concerne pas les performances d'autres applications en fonction
sur l'hôte.</para>
</sect2>
<sect2>
<title>Adaptateurs réseaux bridgés absents</title>
<para>Si aucun adaptateur bridgé n'apparaît dans la section "Réseau" des
paramètres de la VM, cela signifie généralement que le pilote du réseau
bridgé n'a pas été installé correctement sur votre hôte. Cela pourrait venir
des raisons suivantes : <itemizedlist>
<listitem>
<para>Le nombre maximum de filtres autorisés a été atteint sur l'hôte.
Dans ce cas, le journal MSI indiquera le code d'erreur
<computeroutput>0x8004a029</computeroutput> retourné à l'installation
du composant réseau NetFlt :<screen>VBoxNetCfgWinInstallComponent: Install failed, hr (0x8004a029)</screen></para>
<para>Vous pouvez essayer d'augmenter le nombre de filtre maximum
dans le registre Windows avec la clé suivante :<screen>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\MaxNumFilters</screen>Le nombre maximum autorisé est de 14. Après le redémarrage, essayez
de réinstaller VirtualBox.</para>
</listitem>
<listitem>
<para>Le cache INF est corrompu. Dans ce cas, le journal d'installation
(<computeroutput>%windir%\inf\setupapi.log</computeroutput> sur XP
ou <computeroutput>%windir%\inf\setupapi.dev.log</computeroutput>
sur Vista ou supérieur) indiquera normalement un échec pour
trouver le paquet du pilote adapté aux composants
<computeroutput>sun_VBoxNetFlt</computeroutput> ou
<computeroutput>sun_VBoxNetFltmp</computeroutput>. La solution est
alors de désinstaller VirtualBox, de supprimer le cache INF
(<computeroutput>%windir%\inf\INFCACHE.1</computeroutput>), de
redémarrer et d'essayer de réinstaller VirtualBox</para>
</listitem>
</itemizedlist></para>
</sect2>
<sect2>
<title>L'adaptateur réseau Host-only ne peut pas être créé</title>
<para>Si l'adaptateur host-only ne peut pas être créé (soit avec le gestionnaire
soit avec VBoxManage), le cache INF est probablement corrompu. Dans ce cas,
le journal d'installation (<computeroutput>%windir%\inf\setupapi.log</computeroutput>
sur XP ou <computeroutput>%windir%\inf\setupapi.dev.log</computeroutput>
sur Vista ou supérieur) indiquera généralement un échec pour trouver un
paquet de pilote adapté au composant <computeroutput>sun_VBoxNetAdp</computeroutput>.
De nouveau, comme pour le problème du réseau bridgé décrit ci-dessus, la
solution consiste à désinstaller VirtualBox, à supprimer le cache INF
(<computeroutput>%windir%\inf\INFCACHE.1</computeroutput>), à redémarrer
et à essayer de réinstaller VirtualBox.</para>
</sect2>
</sect1>
<sect1>
<title>Hôtes Linux</title>
<sect2 id="ts_linux-kernelmodule-fails-to-load">
<title>Le module du noyau Linux refuse de se charger</title>
<para>Si le module du noyau Linux
(<computeroutput>vboxdrv</computeroutput>) refuse de se charger, c'est-à-dire
que vous avez un message "Error inserting vboxdrv: Invalid argument",
vérifiez (en tant qu'administrateur) la sortie de la commande
<computeroutput>dmesg</computeroutput> pour trouver la raison de l'échec
du chargement. Probablement, le noyau n'est pas d'accord avec la version
de gcc utilisée pour compiler le module. Assurez-vous d'utiliser le même
compilateur que celui utilisé pour construire le noyau.</para>
</sect2>
<sect2>
<title>Lecteur CD/DVD de l'hôte Linux non trouvé</title>
<para>Si vous avez configuré une machine virtuelle pour utiliser le
lecteur CD/DVD de l'hôte, et s'il semble ne pas fonctionner, assurez-vous
que l'utilisateur actuel a le droit d'accéder au fichier de périphérique
Linux correspondant (<computeroutput>/dev/hdc</computeroutput> ou
<computeroutput>/dev/scd0</computeroutput> ou
<computeroutput>/dev/cdrom</computeroutput> ou identique). Sur la plupart
des distributions, l'utilisateur doit être ajouté à un groupe correspondant
(qui s'appelle en général <computeroutput>cdrom</computeroutput> ou
<computeroutput>cdrw</computeroutput>).</para>
</sect2>
<sect2>
<title>Lecteur CD/DVD non trouvé sur l'hôte Linux (distributions anciennes)</title>
<para>Sur les anciennes distributions Linux, si votre lecteur CD/DVD
a un autre nom, il se peut que VirtualBox soit incapable de le trouver.
Sur les hôtes Linux anciens, VirtualBox suit les étapes suivantes pour
trouver vos lecteurs CD/DVD :</para>
<para><orderedlist>
<listitem>
<para>VirtualBox examine si la variable d'environnement
<computeroutput>VBOX_CDROM</computeroutput> est définie (voir ci-dessous).
Si tel est le cas, VirtualBox ne fait pas les vérifications suivantes.</para>
</listitem>
<listitem>
<para>VirtualBox teste si
<computeroutput>/dev/cdrom</computeroutput> fonctionne.</para>
</listitem>
<listitem>
<para>En plus, VirtualBox vérifie si des lecteurs CD/DVD sont montés
en vérifiant <computeroutput>/etc/mtab</computeroutput>.</para>
</listitem>
<listitem>
<para>En outre, VirtualBox vérifie si une des entrées de
<computeroutput>/etc/fstab</computeroutput> pointe vers un lecteur
CD/DVD.</para>
</listitem>
</orderedlist></para>
<para>En d'autres termes, vous pouvez essayer de définir VBOX_CDROM pour
contenir vos lecteurs CD/DVD, séparés par des deux-points, par exemple
comme suit :</para>
<para><screen>export VBOX_CDROM='/dev/cdrom0:/dev/cdrom1'</screen>Sur les
distributions Linux modernes, VirtualBox utilise la couche d'abstraction
matérielle (hal) pour localiser le matériel CD et DVD.</para>
</sect2>
<sect2>
<title>Disquette non trouvée sur un hôte Linux</title>
<para>Les instructions précédentes (pour les lecteurs CD et DVD) s'appliquent
aussi aux disquettes, sauf que sur les distributions anciennes,
VirtualBox teste par défaut les périphériques <computeroutput>/dev/fd*</computeroutput>
ce que vous pouvez changer avec la variable d'environnement
<computeroutput>VBOX_FLOPPY</computeroutput>.</para>
</sect2>
<sect2>
<title>Messages d'erreur étranges de l'IDE invité lors de l'écriture sur un CD/DVD</title>
<para>Si le support expérimental d'écriture sur un CD/DVD est activé avec
une mauvaise configuration de l'hôte et de l'invité VirtualBox, il est
possible que vos efforts pour accéder à l'écriture sur CD/DVD échouent et
n'aboutissent qu'à des messages d'erreur du noyau invité (pour les invités
Linux) ou à des messages d'erreur de l'application (pour les invités
Windows). VirtualBox effectue les vérifications de cohérence habituelles
quand une VM est allumée (en particulier, il quitte avec un message d'erreur
si l'utilisateur qui démarre la VM ne peut pas écrire sur le périphérique
du graveur CD/DVD), mais il ne peut pas détecter toutes les mauvaises
configurations. La configuration de l'OS hôte et de l'invité requise n'est
pas spécifique à VirtualBox, mais quelques problèmes fréquents sont listés
ici, ils se sont produits en lien avec VirtualBox.</para>
<para>Vous devez faire très attention à utiliser le bon périphérique. Le
nom du fichier du lecteur CD/DVD de l'hôte configuré (dans la plupart des
cas, <literal>/dev/cdrom</literal>) doit pointer vers le périphérique
qui permet d'écrire sur l'unité CD/DVD. Pour les unités du graveur CD/DVD,
connecté à un contrôleur SCSI ou à un contrôleur IDE qui fait interface
avec le sous-système SCSI de Linux (ce qui est classique pour certains
contrôleurs SATA), il doit renvoyer au nœud de périphérique SCSI
(comme <literal>/dev/scd0</literal>). Même pour les unités de graveurs de CD/DVD en
IDE, il doit renvoyer au nœud du lecteur CD-ROM adéquat (comme
<literal>/dev/scd0</literal>) si le module du noyau
<literal>ide-scsi</literal> est chargé. Ce module est requis pour le support
du graveur CD/DVD avec tous les noyaux Linux 2.4 et avec certains noyaux
2.6 des débuts. De nombreuses distributions Linux chargent ce module à
chaque fois que le graveur CD/DVD est détecté dans le système, même si
le noyau supporterait des graveurs CD/DVD sans le module. VirtualBox supporte
l'utilisation des fichiers de périphérique IDE (comme
<literal>/dev/hdc</literal>), pourvu que le noyau le supporte et que le
module <literal>ide-scsi</literal> ne soit pas chargé.</para>
<para>Des règles similaires (sauf que dans l'invité, le graveur CD/DVD
est toujours un périphérique IDE) s'appliquent à la configuration de
l'invité. Ce paramétrage étant très classique, il est probable que la
configuration par défaut de l'invité fonctionne comme prévu.</para>
</sect2>
<sect2>
<title>Problème de l'IPC VBoxSVC</title>
<para>Sur Linux, VirtualBox utilise une version personnalisée de XPCOM
de Mozilla (modèle d'objet du composant multi-plateformes) pour la
communication inter et intra processus (IPC). Le processus
<computeroutput>VBoxSVC</computeroutput> sert de hub de communication
entre plusieurs processus de VirtualBox et il maintient la configuration
globale, c'est-à-dire la base de données XML. Au démarrage d'un composant
de VirtualBox, les processus <computeroutput>VBoxSVC</computeroutput> et
<computeroutput>VirtualBoxXPCOMIPCD</computeroutput> sont lancés automatiquement.
Ils ne sont accessibles qu'à partir du compte utilisateur qui l'a
lancé. <computeroutput>VBoxSVC</computeroutput> possède la base de données
de la configuration de VirtualBox qui se trouve normalement dans
<computeroutput>~/.config/VirtualBox</computeroutput>, ou dans le répertoire
de configuration adéquat de votre système d'exploitation. Tant qu'il est en fonction,
les fichiers de configuration sont verrouillés. La communication entre les
composants de VirtualBox et <computeroutput>VBoxSVC</computeroutput> est
faite via un socket de domaine local qui se trouve dans
<computeroutput>/tmp/.vbox-<username>-ipc</computeroutput>. En cas
de problèmes de communication (par exemple si une application VirtualBox
ne peut pas communiquer avec <computeroutput>VBoxSVC</computeroutput>),
clôturez les démons et supprimez le répertoire du socket du domaine
local.</para>
</sect2>
<sect2 id="ts_usb-linux">
<title>L'USB ne fonctionne pas</title>
<para>Si l'USB ne fonctionne pas sur votre hôte Linux, assurez-vous que
l'utilisateur actuel fait partie du groupe
<computeroutput>vboxusers</computeroutput>. Sur les hôtes anciens, vous
devez vous assurer que l'utilisateur a le droit d'accéder au système de
fichiers USB (<computeroutput>usbfs</computeroutput>), sur lequel s'appuie
VirtualBox pour récupérer des informations valides sur les périphériques
USB de votre hôte. Le reste de cette section ne s'applique qu'à ces anciens
systèmes.</para>
<para>Comme <computeroutput>usbfs</computeroutput> est un système de fichiers
virtuel, un <computeroutput>chmod</computeroutput> sur
<computeroutput>/proc/bus/usb</computeroutput> n'a aucun effet. Les droits
sur <computeroutput>usbfs</computeroutput> <emphasis>ne peuvent donc être
changés que</emphasis> si vous éditez le fichier
<computeroutput>/etc/fstab</computeroutput>.</para>
<para>Par exemple, la plupart des distributions Linux comportent un groupe
utilisateur qui s'appelle <computeroutput>usb</computeroutput> ou similaire,
dont l'utilisateur actuel doit faire partie. Pour donner à tous les
utilisateurs de ce groupe un accès à usbfs, assurez-vous que la ligne
suivante est présente :<screen># 85 is the USB group
none /proc/bus/usb usbfs devgid=85,devmode=664 0 0</screen>Remplacez
85 par l'ID du groupe correspondant à votre système (cherchez dans
<computeroutput>/etc/group</computeroutput> "usb" ou proche). Sinon, si
vous vous moquez des considérations de sécurité, donnez à tous les
utilisateurs l'accès à l'USB en changeant "664" en "666".</para>
<para>Les distributions sont très créatives sur le script qui monte le
système de fichiers <computeroutput>usbfs</computeroutput>. Parfois,
la commande est cachée à des endroits improbables. Pour SuSE 10.0, la
commande de montage fait partie du fichier de configuration udev
<computeroutput>/etc/udev/rules.d/50-udev.rules</computeroutput>. Comme
cette distribution n'a aucun groupe d'utilisateurs appelé
<computeroutput>usb</computeroutput>, vous pouvez utiliser par exemple le
groupe <computeroutput>vboxusers</computeroutput> qui a été créé par
l'installeur de VirtualBox. Les numéros des groupes étant affectés de manière
dynamique, l'exemple suivant utilise 85 comme modèle. Modifiez la ligne
contenant (on a inséré un retour à la ligne pour améliorer la lisibilité)
<screen>DEVPATH="/module/usbcore", ACTION=="add",
RUN+="/bin/mount -t usbfs usbfs /proc/bus/usb"</screen> et ajoutez les
options nécessaires (assurez-vous que tout est sur une seule ligne) :
<screen>DEVPATH="/module/usbcore", ACTION=="add",
RUN+="/bin/mount -t usbfs usbfs /proc/bus/usb -o devgid=85,devmode=664"</screen></para>
<para>Debian Etch a sa commande de montage dans
<computeroutput>/etc/init.d/mountkernfs.sh</computeroutput>. Cette
distribution n'ayant pas de groupe <computeroutput>usb</computeroutput>,
la solution la plus simple est d'autoriser tous les membres du
groupe <computeroutput>vboxusers</computeroutput> à accéder au sous-système
USB. Modifiez la ligne <screen>domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev</screen>
pour qu'elle contienne <screen>domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev,devgid=85,devmode=664</screen>
Comme d'habitude, remplacez 85 par le vrai numéro du groupe qui devrait
avoir accès aux périphériques USB.</para>
<para>D'autres distributions font des opérations identiques dans des scripts
stockés dans le répertoire <computeroutput>/etc/init.d</computeroutput>.</para>
</sect2>
<sect2>
<title>Noyaux PAX/grsec</title>
<para>Les noyaux Linux incluant le correctif grsec (voir <literal><ulink
url="http://www.grsecurity.net/">http://www.grsecurity.net/</ulink></literal>)
et ses dérivés doivent désactiver PAX_MPROTECT pour que les binaires VBox
puissent démarrer une VM. Ceci car VBox doit créer un code exécutable en
mémoire anonyme.</para>
</sect2>
<sect2>
<title>pool vmalloc du noyau Linux dépassé</title>
<para>Quand on exécute un grand nombre de VMs avec beaucoup de RAM sur
un système Linux (disons 20 VMs de 1Go de RAM chacune), les VMs supplémentaires
pourraient ne pas réussir à démarrer avec une erreur du noyau disant que
le pool vmalloc est dépassé et que vous devriez l'agrandir. Le message
d'erreur vous dit aussi de spécifier
<computeroutput>vmalloc=256MB</computeroutput> dans votre liste des
paramètres du noyau. Si l'ajout de ce paramètre à votre configuration de
GRUB ou de LILO empêche le noyau de démarrer (avec un message d'erreur
bizarre tel que "failed to mount the root partition"), vous avez probablement
un conflit de mémoire entre votre noyau et la RAM disque initiale. Vous
pouvez résoudre cela en ajoutant le paramètre suivant à votre configuration
de GRUB :</para>
<screen>uppermem 524288</screen>
</sect2>
</sect1>
<sect1>
<title>Hôtes Solaris</title>
<sect2>
<title>Ne peut pas démarrer de VM, pas assez de mémoire contiguë</title>
<para>Le système de fichiers ZFS est connu pour utiliser presque toute la
RAM disponible comme du cache si les paramètres système par défaut ne sont
pas modifiés. Cela peut conduire à une énorme fragmentation de la mémoire
de l'hôte, empêchant les VMS de VirtualBox de démarrer. Nous vous recommandons
de limiter la limite du cache ZFS en ajoutant une ligne<screen>set zfs:zfs_arc_max = xxxx</screen>
à /etc/system où <computeroutput>xxxx</computeroutput> octets est la quantité
de mémoire utilisable pour le cache ZFS.</para>
</sect2>
<sect2>
<title>La VM s'arrête avec des erreurs de dépassement de mémoire sur les hôtes
Solaris 10</title>
<para>Les hôtes Solaris 10 32 bits (bogue 1225025) exigent un espace d'échange
supérieur ou égal à la taille de la mémoire physique de l'hôte. Par exemple,
8 Go de mémoire physique exigerait au moins 8 Go d'échange. Vous pouvez
configurer cela pendant l'installation de Solaris 10 en choisissant une
'installation personnalisée' et en modifiant les partitions par défaut.</para>
<note>
<para>Cette restriction ne s'applique qu'aux hôtes Solaris 32 bits, les
hôtes 64 bits ne sont pas concernés !</para>
</note>
<para>Pour les installations Solaris 10 existantes, il faut monter une image
d'échange supplémentaire et l'utiliser comme échange. D'où le fait que si
vous avez un échange de 1 Go et 8 Go de mémoire physique, vous devez
ajouter un échange supplémentaire de 7 Go. Vous pouvez faire cela comme
suit :</para>
<para>Pour ZFS (en tant qu'administrateur) :</para>
<para><screen>zfs create -V 8gb /_<ZFS volume>_/swap
swap -a /dev/zvol/dsk/_<ZFS volume>_/swap</screen></para>
<para>Pour monter le système de fichiers au démarrage, ajoutez la ligne
suivante à /etc/vfstab :</para>
<screen>/dev/zvol/dsk/_<ZFS volume>_/swap - - swap - no -</screen>
<para>Sinon, vous pouvez agrandir l'espace existant en utilisant :</para>
<screen>zfs set volsize=8G rpool/swap</screen>
<para>Et redémarrer le système pour que les changements prennent effet.</para>
<para>Pour UFS (en tant qu'administrateur) :</para>
<screen>mkfile 7g /path/to/swapfile.img
swap -a /path/to/swapfile.img</screen>
<para>Pour le monter au redémarrage, ajoutez la ligne suivante à
/etc/vfstab :</para>
<screen>/path/to/swap.img - - swap - no -</screen>
</sect2>
</sect1>
</chapter>
|